一、原码、反码与补码
原码:十进制或其他进制直接转换成二进制的数(二进制数最多32位);
正整数的反码和补码与原码一样,负整数的反码、补码运算规则如下:
反码:符号位不变,其他位取反(符号位是0为正,1为负);
补码:反码加1。
补码转换成原码:1、取反码加1;2、减1取反码(计算机中用的是方法1,这样原码和补码互相转换用的是同一个规则,所以只用一个转换器)。
数字都是以补码的形式存在内存中,原因是cpu计算时只有加法运算,补码运算的结果才是正确的。计算结束后再转换成原码输出。
二、左移位(通常可看作乘以2)
操作符:“<<”
移位规则:最左边的数扔掉,最右边加个0。
例:
三、右移位(通常可看作除以2)
操作符:“>>”
移位规则:
1、逻辑右移:最右边一位扔掉,最左边加一个0(这样的计算结果与我们想象的相差过大,所以一般编译器用的都是算法右移)。
2、算法右移:最右边一位扔掉,最左边加的数与符号位一致。
*注意:一般左移和右移的位数都是正整数且小于32。