文章目录
数码转换
1.十进制小数–>二进制
2.BCD码与二进制的转换(中间要通过十进制来转换)
一般来说,默认的BCD码是8421码
,也就是说,使用4位二进制数
来表示0-9。从左到右的重量是8,4,2,1。
以十进制37为例,进行转换:
8421码为0011 0111。
无符号数和有符号数
无符号数
:数中所有的0或1都是数值
有符号数
:最高位是符号位,其余是数值部分
1.原码、反码、补码
引入补码的理由:将减法运算转换为加法运算
补码运算规则
练习1:已知 X=-0110100,Y=+1110100,求X+Y=?
练习2:已知 X =64H,2Y=-48H,若用8位表示结果, 则[X+Y]补=( )B
练习3:已知有符号数x=A8H,则该数的十进制=( )
2.二进制加减运算的溢出判断
计算机的表数范围受字长的限制,当运算结果超出表数范围时,将产生溢出。
无符号数: 0 ≤ X ≤ 2n-1
有符号数补码: - 2n-1 ≤ X ≤ 2n-1 -1
无符号数加减运算溢出判断原则:
当最高位
向更高位
有进(借)位时,产生溢出
有符号数加减运算溢出判断原则
若:最高位进位状态
异或 次高位进位状态
=1,则结果溢出
设8位有符号数 x = 0111 1000,y = 0110 1001
执行: x + y
其中
红色弯曲箭头代表:次高位进位状态
为1
绿色弯曲箭头代表:最高位进位状态
为0
异或运算后为1,故溢出,所以结果出错