原码、反码、补码
什么原码、反码、补码?
首先要知道的是,它们都是有符号的数据表示法。
在计算机中,存储系统都是用2进制储存的,对我们输入的每一个信息计算机都会自动转变成二进制的形式,而二进制在存储的时候就会使用到原码,反码和补码。
原码,在数值前直接加入一符号位。
例如:正7用二进制表示为:0 0000111 B
负7用二进制表示为:1 0000111 B
但要注意的是:在byte中,取值只可在-128~127间。
反码,规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
正7反码= 0 0000111 B
负7反码= 1 1111000 B
要注意的是:0的表示为0 0000000,-128的表示为1 0000000,即+127+1=-128,也就是说,byte值溢出了。
因此,有了补码。
补码,正数的补码和原码相同;负数的补码则是符号位为“1”。并且,这个“1”既是符号位,也是数值位。数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。
总结可以得到,正数的原码、反码、补码表示方法均相同,需要考虑的也就只有负数了。

浙公网安备 33010602011771号