本帖最后由 天天学习 于 2013-12-31 19:36 编辑
1,原码:将最高位作为符号位(以0代表正,1代表负),其余各位代表数值本身的绝对值(以二进制表示)。 2,反码:一个数如果为正,则它的反码与原码相同;一个数如果为负,则符号位为1,其余各位是对原码取反。 3,补码:一个数如果为正,则它的原码、反码、补码相同;一个数如果为负,则符号位为1,其余各位是对原码取反,然后整个数加1。 4,计算机采用补码的形式表示数据 4.1原码:由于+0的表现形式为00000000而-0的表现形式为10000000那么它的表示形式不唯一,因此计算机并未采用原码的形式表示数据 4.2反码:由于+0的反码为00000000,而-0的反码为11111111因此0的表现形式也不唯一,所以计算机也没有采用反码的形式表示数据 4.3因此在计算机中采用的是补码表示数据的。 5,一个字节(byte)占8位,如果表示一个正数那么它的最高位为0,因此还剩下7位,若想取得最大的正数,那么剩下的7位均为1,即一个字节所能表示的最大正数为01111111,将其转成十进制的数为127,转换过程为:01111111=0*27+1*26+1*25+1*24+1*23+1*22+1*21+1*20=127 6,一个字节所能表示的最小负数为最高位为1,要想表示的数最小那么其余位为0即10000000其实这个是个补码要把它转换成十进制应分三步 6.1,先对各位取反,即10000000取反后为01111111 6.2,将取反后的结果转换为十进制数即为127 6.3,加上负号,再减去1即-127-1=-128 因此一个字节所能表示的数据在-128到127之间。 |