补码小结
来源:互联网 发布:听金庸小说的软件 编辑:程序博客网 时间:2024/05/16 06:17
在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 2、补码与原码的转换过程几乎是相同的。
所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码的计算
(1)正数的补码
与原码相同。
【例1】+9的补码是00001001。(备注:这个+9的补码说的是用8位的2进制来表示补码的,补码表示方式很多,还有16位2进制补码表示形式,以及32位2进制补码表示形式等。
(2)负数的补码
负数的补码是对其原码逐位取反,但符号位除外;然后整个数加1。
已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
(2)如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
补码运算
补码的绝对值(称为真值)
若要得到一个负二进制数的绝对值(称为真值),只要各位(包括符号位)取反,再加1,就得到真值。
如:二进制值:10111111(-65的补码)
各位取反:01000000
加1:01000001(+65的补码)
代数加减运算
1、补码加法
[X+Y]补 = [X]补 + [Y]补
【例5】X=+0110011,Y=-0101001,求[X+Y]补
[X]补=00110011[Y]补=11010111
[X+Y]补 = [X]补 + [Y]补 =00110011+11010111=00001010
注:因为计算机中运算器的位长是固定的,上述运算中产生的最高位进位将丢掉,所以结果不是 100001010,而是00001010。
2、补码减法
[X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
其中[-Y]补称为负补,求负补的方法是:对补码的每一位(包括符号位)求反,最后末位加“1”。
3、补码乘法
设被乘数【X】补=X0.X1X2……Xn-1,乘数【Y】补=Y0.Y1Y2……Yn-1,
【X*Y】补=【X】补×【Y】补,即乘数(被乘数)相乘的补码等于补码的相乘。
- 补码小结
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- 补码
- java面试题经典12例【第十季_常瑞鹏】
- 来自客户端名 a 的远程会话超出了所允许的失败登录最大次数。强行终止了会话
- 库接口思想
- android中LayoutInflater的使用
- Android.mk文件语法规范
- 补码小结
- VS2008下更改文件所在文件夹
- Spring MVC AbstractController
- SQL重复记录查询
- Android.mk 编写规则简介
- android 4.0以上操作系统关于多语言切换bug的修复
- 将Win7 SP1 X64以UEFI模式安装
- ELF文件格式详解
- 穗社保条例获准 职工医保需缴到退休最少15年