在计算机中不管是什么数据都是以二进制数据的形式储存的,因为计算机只认识“0”,“1”。只不过不同类型的数据存储在计算机中时转化为二进制的规则不一样,这个问题实际上就是编码的问题。比如说:
int i = 86;
该语句的意思是直接将十进制86放到变量 i 中?,当然不是这样的啦,而是将 86 转换为 二进制数据存进去,那么它到底是以什么方式的二进制代码放进去的呢?整数是以补码的形式转化为二进制代码存储在计算机中的,什么是补码
字符的存储方式本质上与整数存储方式相同。比如字符’A’,它是先通过ASCII码转化为一个十进制整数,然后就同十进制整数一样,再将整数转化为二进制代码。
补码很简单,但是很重要,通过对补码的学习一定要弄明白以下的几个问题
1 int 型变量所能存储的数字范围是多大。
2 最小负整数的二进制代码是多少。
3 最大正整数的二进制代码是多少。
4 数字超过最大正整数会怎么样?
5 int 型变量 和 char 型变量是如何相互赋值的呢?
原码与反码
原码也叫“符号绝对值”码,最高位0表示正,1表示负,其余二进制是该数字绝对值的二进制。正整数的原码就是他本身的二进制数,比如 5 的原码就是0101.那么-5的原码呢?负号用 1