二进制、补码和移位

在计算机中,有符号数是以补码表示的。

1. 原码

原码的第一位是符号位,其余位表示值。比如8位二进制:

[+1]=0000 0001

[- 1]=1000 0001

2. 补码

正数的补码就是它本身,负数的补码是在原码的基础上,符号位不变,其余各位取反+1。

[+1]=0000 0001

[- 1]=1111 1111

补码转换为原码的规则依然是符号位不变,其余各位取反+1。

3. 移位

有符号数移位时,都是按照补码的形式移位:

右移:最右边的一位舍弃,最左边补符号位。

左移:最左边的一位舍弃,最右边补0。

 

posted on 2016-05-15 16:41  summerkiki  阅读(2200)  评论(0编辑  收藏  举报