您的位置:

c语言0和1正负,c语言12为什么是0

本文目录一览:

C语言中什么时候0表示真,1表示假

C语言规定1为真(TRUE),0为假(FALSE)。

C语言中0为假,1为真,逻辑与和整数乘法相同,而c语言中的1就是整数,整数除法1/2结果也会是整数,数学中答案是0.5,但是整型的不能保存0,5。因此会直接变成0。后面的计算结果是什么就不重要了。

总的来说,计算机的最小存储单位是字节,一个字节可存储256个数字,真和假却只有两个数字。C语言从C99才有_ Bool这 个布尔类型。

C99之 前一直使用整数类型存储布尔值,那么除去真和假两值以外还至少有254个数字,这些数字不可能是非真非假,那么只能使用一个值代表真或假,其他值代表前面值的相反值。

扩展资料

计算机识别0和1的原理:

计算机中RAM存储正在使用的程序和文件,硬盘则是文件永久储存的地方。硬盘实际上由若干磁盘构成,磁盘上大量的有序的磁性粒子完成,磁性则可以表示0和1。当需要对文件进行读写时,实际上是发出电脉冲信号移动读写头改变磁性粒子的磁性或者是得到磁性粒子的磁性。

计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称宇。字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。

在计算机的运算器、控制器中,通常都是以字为单位进行传送的。宇出现在不同的地址其含义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。

在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫做一个字或单元,每个字中二进制位数的长度,称为字长。

c语言关系运算中负数是按0还是按1

1、关系运算符中是判断逻辑,而不是正负;

2、逻辑只有真假,是0即假,非0即真;

3、按你所说负数当然是真咯!

如果满意,请采纳!

C语言中负数如何表示?

第一位符号位 1为负0为正。

正数的补码和2进制原码是一样的。

负数的补码: 1. 先取绝对值|x|

2. 对|X|+1

3. 对|X|+1 取反,就得到它的补码了

计算机中存放整型数据都是按补码的形式存放的。

C语言如何表示正负值问题

c语言有两种数据类型,一种是整型,一种是浮点型 ,整型类型一般用的原码表示,浮点类型一般用的IEEE754标准进行编码。

整型数中原码表示正负数,取最高位为符号位,以8位二进制数来表示1和-1。1的二进制为

0 000 0001 //最高位为符号位,0表示正数,1表示负数

1 000 0001 //这个表示-1

IEEE754浮点数编码,使用的格式类似于 (-1)^s * M* 2^E,其中s是符号位,M是有效位数,E指的是指数,s符号位占1位,如果是0,则(-1)的0次方为1,表示是一个正数,如果s位是-1,则表示是一个负数。

在c语言中怎么表示负数。

第一位符号位1为负,0为正。 正数的补码和2进制原码是一样的。

负数的补码:

1、先取绝对值|x| ;

2、对|X|+1 ;

3、对|X|+1 取反,就得到它的补码了 。

计算机中存放整型数据都是按补码的形式存放的。

扩展资料:

有符号数的表示方法是由硬件决定,而不是由C决定的。有三种表示方法:

1、二进制原码

0000 0001  表示 1

1000 0001  表示 -1

这个方法有个缺点是有两个零: +0 和 -0。这会引起混淆,而且用两个位组合来表示一个值也有些浪费。

2、二进制补码(最普遍的系统)

区别在于 singned 和 unsigned:

1)如果是无符号字节, 1000 0000 该组合为 128

2)如果是有符号字节, 1000 0000 该组合为 -128

第一种表示数的范围是 0 ~ 255;

第二种表示数的范围是 -128 ~ +127,对于一个二进制补码数取负数,最简单的方法就是取反、加 1。

3、二进制反码

通过反转位组合中的每一位以形成一个数的负数,例如:

0000 0001  表示 1

1111 1110  表示 -1

这种方式也有一个 -0:1111 1111。其范围是 -127 ~ +127。

c语言。0按位取反是1还是-1,1按位取反是0吗?

i为int类型 通常占4个字节

0的原码:0000 0000 0000 0000 0000 0000 0000 0000

取反: 1111 1111 1111 1111 1111 1111 1111 1111

最高位是1所以是负数,求其原始数据,方法是

再次取反加1(符号位不变)

取反:     1000 0000 0000 0000 0000 0000 0000 0000

加1          1000 0000 0000 0000 0000 0000 0000 0001

所以是 -1

Java使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。

补码的规定如下:对正数来说,最高位为0,其余各位代表数值本身(以二进制表示),如+42的补码为00101010。对负数而言,把该数绝对值的补码按位取反,然后对整个数加1,即得该数的补码。如-42的补码为11010110(00101010按位取反11010101+1即11010110)用补码来表示数,0的补码是唯一的,都为00000000。(而在原码,反码表示中,+0和-0的表示是不唯一的,可参见相应的书籍)。而且可以用111111表示-1的补(这也是补码与原码和反码的区别)。