首页 综合精选 > 正文

整型数据占多少字节(整型数据)

导读 因为计算机内表示数值使用的是补码,而不是原码,所以你才有这样的疑问。下面我简单解释一下你就明白了。 原码就是这个数本身的二进制形式...

因为计算机内表示数值使用的是补码,而不是原码,所以你才有这样的疑问。

下面我简单解释一下你就明白了。

原码就是这个数本身的二进制形式。

以8位二进制为例 0000001 就是+1 1000001 就是-1 补码分为两种情况:正数的补码与原码一样;2、负数的补码是符号位保持不变,其余各位取反,再加1。

反码就是负数符号位不变,其余各位取反,正数反码与原码相同。

以四位二进制为例,其原码、反码、补码为: 真值原码反码补码 7011101110111 6011001100110 5010101010101 4010001000100 3001100110011 2001000100010 1000100010001 0000000000000 -0100011110000 -1100111101111 -2101011011110 -3101111001101 -4110010111100 -5110110101011 -6111010011010 -7111110001001 为什么要设立补码呢? 第一是为了能让计算机执行减法:[a-b]补=a补+(-b)补 第二个原因是为了统一正0和负0 正零:00000000 负零:10000000 这两个数其实都是0,但他们的原码却有不同的表示。

但是他们的补码是一样的,都是00000000 16位二进制原码表示的负数是 -0~-32767,包括-0加起来是32768个数;因为补码加了1,所以补码的表示范围是 -1~-32768,也是32768个数。

n位补码能表示的范围的公式是 -2^(n-1)到2^(n-1)-1 比n位原码能表示的数多一个。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。