您的位置:首页 > 其它

二进制补码

2016-05-15 20:51 274 查看
一、概述

1.计算机系统的内部以二进制形式存储数据。
2.在Java程序中输入的十进制的数据都会被自动转换为二进制,Java内部也是以二进制来进行数值运算,但返回的结果是十进制。

二、补码规则
1.在计算机系统中,数值一律用二进制的补码来存储
2.二进制的最高位是符号位,0表示正数,1表示负数

3.正数的值是其本身,负数的值是最高位(符号位)不变,其它位逐位取反加一

4.两数相加,若最高位(符号位)有进位,则进位被舍弃。

三、为什么使用补码

1.可以将符号位和其他位统一处理
2.最高位不再表示数值,而是作为符号位,正好将数值折半,即一半是0~正数,一半是负数。

3.减法也可按加法来处理

四、补码运算的特征
1.计算机中正数和负数的关系是取反加一(符号位也取反,这里要和上面负数求值区分)
2.补码运算是封闭的:运算结果保留在补码范围之内,超范围就溢出。
3.四位二进制补码最多能表示2^4(16)个数,数的范围是-8~7
4.八位二进制补码最多能表示2^8(256)个数,数的范围是-128~127
5.十六位二进制补码最多能表示2^16(65536)个数,数的范围是-32768~32767
6.三十二位二进制补码最多能表示2^32个数,数的范围是-2^31~2^31-1

五、补码运算的原理

整数 + 负数 = 模
负数 = 模 - 正数,这就是逐位取反加一的原因

模:某种类型数据的总数

4位二进制数的模是2^4=16

8位二进制数的模是2^8=256

16位二进制数的模是2^16=65536
32位二进制数的模是2^32
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二进制 补码