25王道计算机组成原理第二章易错知识点


在计算机中,小数和整数不一样,整数可以连续表示,但是小数是离散的,所以并不是每个十进制小数都可以用二进制来表示,但是相反,任意一个二进制小数都可以用十进制小数来表示。

0的原码表示有两种,正0和负0

技巧:由x的补码,快速求-x的补码。只需要符号位,数值位全部取反,然后末位+1

负数补码的判断规则,数值部分的值越小,其绝对值越大,也就是负的越多,注意是补码!!!

在计算机中,通常用来表示主存地址的是无符号数,因为地址都是正数,不需要符号位

补码和移码的1000 0000 表示-128 1既表示符号位,又表示数值位

在进行补码定点数的加减运算时,符号作为数的一部分参与运算

对负数反码进行算术移位,左移动低位补1,高位舍去,右移高位补1,低位舍去(记住是补1)

对负数补码进行算数移位的时候,
右移(同反码)高位补1,低位舍去
左移(同原码)地位补0,高位舍去

只有“正数+正数”才会上溢---正+正=负
只有“负数+负数”才会下溢---负+负=正

模4补码实际存储的时候只存储一个符号位,在计算的时候会复制一个符号位
模4补码最左边的两位表示符号位例如-3表示为11_101
00 表示正且无溢出  11表示负且无溢出   如果右边的那位与左边的那位不一样则表示溢出
模4补码具有模2补码的全部优点,并且易于判断加减运算中是否溢出


无符号数加法的判断溢出:最高位产生的进位=1时,发生溢出,否则没溢出
无符号数减法的溢出判断:最高位产生的进位=0时,发生溢出,否则没有溢出

补充部分

原码乘法的过程中符号位不参与运算,取两个数的绝对值进行相乘,然后符号位单独判断

补码加减运算器
https://blog.csdn.net/m0_55746113/article/details/128968010
补码乘除运算
https://zhuanlan.zhihu.com/p/546282702


如何判断溢出
    1.正数左移变成负数,或者负数变成整数
    2.正数加正数得到负数,负数加负数得到了正数,则发生了溢出
    3.符号位和次高位的进位是否相同,如果不同则发生了溢出
    4.双符号位,最高位和次高位不同就发生了溢出

CF:最高位进位 异或 sub位{sub=1减法,sub=0加法}   表示无符号数加减运算是否进位,借位CF=1表示有进位,借位

浮点数的加减法运算
![[浮点数的加减运算.png]]


大端存储和小端存储
https://blog.csdn.net/weixin_45633061/article/details/117421452
数据边界对齐存储
https://blog.csdn.net/qq_52698632/article/details/123963386

浮点数的规格化
    对原码尾数,最高位一定要为1
        原码正数0.1xxxx,最大能表示0.11111111  1-2^(-n),最小是0.10000 因为最高位一定为1
        负数1.1xxxxx,最大1.1000000  -0.5  最小是1.111111  -(1-2^(-n))
    对于补码来说
        正数0.1xxxxx  最大就是0.111111  最小就是0.100000
        负数1.0xxxxxx      小数点后的第一位一定要是0  最大是1.011111   -(0.5+2^(-n))
        最小是1.00000000      -1 

长度相同,格式相同的两种浮点数,前者基数大,后者的基数小,其他的规定均相同,则前者表示的数的范围更大但是精度更低

非规格化浮点数->阶码一定为0,用它来表示0或者非常接近0的数

在规格化的浮点数中,讲阶码部分的n位移码改为n位补码表示,浮点数的范围不变,位数相同,补码与移码表示的范围相同。移码范围-126-127(全0和全1有其他用途),补码的范围-128-127

只有浮点数需要舍入,定点数无舍入这个概念
    浮点数发生舍入的情况有两种1.发生对阶的时候会发生舍入2.进行右规的时候会发生舍入

题目如果没说是IEEE754 则没有隐藏位1,切记

对阶的时候不会引起上溢或下溢,一开始的时候一般来说是小阶往大阶对齐,一般来说大阶已经是合法的,所以小阶向大阶的时候不会发生上溢。**但是在不同浮点数类型下会出现溢出,如果float向double对齐则可能发生溢出**

右规和尾数舍入都可能引起阶码上溢  0舍1入法的时候,如果是全1,舍去了最后一个1的话,就要加入1,然后就会变成10.00000然后又规的时候,就会出现上溢

左规的时候可能会引起阶码的下溢

非规格化的小数偏置值不是127**是126**
表示为 正负(0.xxxxx)*2^(-126)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值