基础知识总结:负数的表示

二进制的最高位表示符号位。1表示负数,0表示正数

负数表示不是只将最高位变成1其他位不变,数据的存储规则是:最高位变1,其他位用补码的形式出现(补码表示再源码的基础上去翻再加1)

因为为了表示加减法所有才用补码的方式表示

     1     00000001

+   -1    11111111

=          00000000

位运算有移位运算和逻辑运算

左移   <<   向左移动,右边低位补0  高位舍弃   左移一位相当于乘以2

右移   >>   向右移动,右边的舍弃掉左边补啥取决于原来是1就是1,原来是0就是0


所以如果正数运算的时候位数超出了原来的位数,所有原来的符号位进位,导致结果成为了负数


你可能感兴趣的:(基础知识总结:负数的表示)