- 对计算机中的二进制的加减运算进行总结
- 正负数在计算机中的表示方法
- 正负数在计算机中的加减运算
----------------------------------------------------------------------------分页线-----------------------------------
正数在计算机中的表示方法为原码;
负数在计算机中的表示方法为补码;
下面列出了几个数在计算机中的表示方法:
1 : 00000001
127 : 01111111
0 : 00000000
-128 :10000000
-1 :11111111
-127 : 10000001
加减运算:
-127 - 1 = -128 10000001 + 11111111 = 10000000
1 - 1 = 0 00000001 + 11111111 = 00000000
1 + 127 = -128 00000001 + 01111111 = 10000000
-1 -128 = 127 11111111 + 10000000 = 01111111 (溢出了,需要在写程序的时候注意的地方)
注意啊:最小的数减1变成了最大的数;最大的数加一变成了最小的数。
比较运算:
正数比较:
127 (01111111)> 126(01111110)
负数比较:
-126(10000010)> -127(10000001)
负数正数比较(两个数均为有符号数时):
如果按照上述的方法应该是 -126(10000010)> 127(01111111),
但是实际上,比较出来的结果是 -126(10000010)< 127(01111111)。
----------------------------------------------------------------------题外话--------------------------------------------------------------------------------
但是当两个数的类型不一样时,如果一个数是有符号数,一个数是无符号数,进行比较,当有符号数是负数时,两个数的比较结果就会出现 -126(10000010)> 127(01111111)的情况,原因是因为计算机在对不同类型的数进行比较时,会将有符号数先转换成无符号数,然后再做比较。