字节数据类型是8位有符号 二进制补码整数
这句话是什么意思?
答案 0 :(得分:1)
这意味着byte是:
整数(如:1,2,3,4 ......)
,范围从-128到127
为签名保留一位
00000001 for 1,
00000010 for 2,
00000011 for 3,
...
我认为在提问之前read wiki更好
答案 1 :(得分:0)
当你看到8位二进制数时,从数学上讲,它代表一个正整数。例如:(10001001)= 137 所以8位你可以有0..255。 但是在计算机中我们还需要负数的表示,其中一个基本解决方案是使用一位表示数字的符号,使用7位表示数字的大小,称为符号幅度表示。例如:(10001001)= 9& (0001001)= 9 这样你就可以显示数字-127..0,0..127。请注意,我写了两次0,因为当幅度为0时,符号不重要,因此(10000000)和(00000000)都代表0。 另一种表示负数的方法是1的补码,其中负数是其数量的按位补码。 例如:(00001001)= 9& (11110110)= - 9 再次可表示的范围是-127..127,我们又有两个表示0,即:(00000000)=(11111111) 但是以这种方式显示负数对于实现算术运算有一些好处。 然后我们有2的补充。这里对于负数,首先我们对其幅度进行按位补码,然后我们将其加1。例如:(00001001)= 9& (11110111)= 9 这样就可以解决两个表示为0的问题,并且我们有一个可表示的范围-128..127。
有关详细信息,请参阅http://en.m.wikipedia.org/wiki/Signed_number_representations。 顺便说一句,对不起我糟糕的英语。