二进制取补运算 有符号输出

如题所述

第1个回答  2020-01-06
计算机中的数据一般都是以补码(带符号)的形式存在的
而8位补码所能表示的数据范围是:-2^7到(2^7)
-
1,即-128

127
至于是怎么得到8位补码所能表示的数据范围的呢
我来告诉你
首先,补码的编码规则是:正数的补码等于原码,负数的补码可以先求对应整数的原码,在对原码进行取反再加一,取反时,包括符号位
正数的补码范围是0000
0000
~
0111
1111
即0
~
127,
最左边那个0是符号位,0代表正,1代表负
负数的补码范围是正数的原码0000
0000
~
0111
1111
取反后,取反是将二进制数中的1变0,0变1
所以得到
1111
1111
~
1000
0000
然后在加1

1
0000
0000
~
1000
0001,
所以1
0000
0000
=
-128

1000
0001
=
-1
所以负数的补码范围是-128到-1
终上所述
用8位二进制表示带符号的整数范围是-128
~
127_____.