原码反码补码的基础知识
首先了解一下计算机中的内存:
二进制中每一位 称为bit(比特位)
8bit ==> 1byte
1024byte ==> 1kb
1024kb ==> 1mb
1024mb ==> 1GB
1024GB ==> 1TB
1024TB ==> 1PB
1024PB ==> 1EB
符号位:即八位字符的第一位,1为负,0为正。
有符号位包括负数,无符号位只有整数而已,在同一数据类型中,由于内存长度是一样的,所以无符号数比有符号数的最大值大1倍
最高位就是符号位,内存中的左边第一个数字;对一个字节来说表示真正大小的只有后七位
原码:一个数字的二进制表示形式
在内存当中,你想存储一个数字,对一个数字进行运算,那么内存开辟最小为一个字节(byte);1byte(字节) = 8bit(位);
下面拿十进制的数字8举例:
如:十进制8 转换成二进制是1000
不够八位在前面补零 所以在内存中表示为: 0000 1000
要是 -8 就把最高位改成1
所以数字-8在内存中表示为: 1000 1000
反码:除符号位, 每一位取反
所以数字8在内存中表示为:1111 0111
补码:正数:等于本身
如:0: 0000 0000
负数: 反码 + 1
所以数字8在内存中表示为: 1111 1000
在计算机中二进制以补码显示!