计算机组成原理——第六章 计算机的运算方法
第六章 计算机的运算方法
6.1 无符号数和有符号数
一、无符号数
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zGh11nYy-1635591536577)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\CE6E9E8EEEB840DED6E6F66B68D4E119.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/a8505d9f1110fff82bf7e63d231d20b7.png)
- 例如:8位寄存器的范围为00000000-11111111,表示0~255
二、有符号数
1.机器数与真值
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0moojhts-1635591536579)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\7EDF4176804221299E4C3A6991A1AC69.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/d039c6e41eb129bb501ab16dede963a3.png)
-
定点计算器分为两类:小数定点器——小数点在符号位后面;整数定点器——小数点在数值位后面
-
在计算器当中,没有专门的硬件来表示小数点,小数点是以约定的方式给出的
2.原码表示法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SGTTW4WF-1635591536581)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\41632A42C8E25B9F66E559F4546EF1B8.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/99445c2d39a8f86a68ccb74454dd26d4.png)
-
如果是负数有n位数值位,在n+1位符号位变为1,相当于给数据的绝对值加2^n
-
当数值部分为n位时,最大值为数值位全1,能表示的最大值为2^(n-1)
-
注意:如果x=0,计算出的原码可能正0和负0有两种表达方式
-
符号位是0表示正数,是1表示负数
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I0ccet9e-1635591536583)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\9579697F360D83EF73FE6104FF4A6A22.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/0cbfb05c64c7d6b824e5612c2550e11b.png)
-
如果是负数有n位数值位,在n+1位符号位变为1,相当于给数据的绝对值加1
-
真值的0.表示小数,原码的0.表示正负
-
在机器码中,无论是整数的逗号还是小数的小数点,在计算机中都是不需要存储的,仅仅为人阅读方便
-
注意:原码表示保存在计算机中的数据,存储单元位数位数有限,求原码时需要知道机器数或其数值位的长度和包含符号位的位数
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ldG0kA1m-1635591536584)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\6C52CB1F2922D1C9CDB0732F36008EEE.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/cf0502cd439a55a849a0c0f6512cfde8.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HsOlE4z1-1635591536585)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\0C2239F37D1C54C91A3B7C098A493F12.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/d597c74adb221c3446a6d442b6d0c1f5.png)
- 原码:正0(0,0000)和负0(1,0000)的表示不相同
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DZqiArbc-1635591536586)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\267FAC2DC0493C06C0353345AC122FC5.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/f4dec887aff0e253c48e33c64cdfb353.png)
3.补码表示法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-75ptbIR4-1635591536589)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\0B65E8B841B164FD3CC61A9F931140CC.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/baf4c93b0d97cdae0bdb92edc8107b4c.png)

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fvu8BjkI-1635591536590)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\55A15929AE76799B7DFB074C3C8F432E.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/5434faf7fabe83ca1be9968fcfd9d481.png)
- 2(4+1)=24(加上一个模得补数)+2^4(加一位符号位1区分正负数)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3sdJAj6l-1635591536591)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\2FAC91D7E1F3F02077CFCCB9D7BFB001.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b944d3d55d6750acb381fa21a41c6e89.png)
-
补码形式最小可以表示到-2^n,也就是1,0000,n不包括符号位
-
补码:正0和负0(0,0000)表示相同
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PtSduGvI-1635591536593)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\409368394F032CF826C98D38D699D36A.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/15e07fa76f2d7deddad50d91280f7c91.png)
- 此处为模2的算法,相应的模4为时,小数点前面为两位,即模8为三位
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SZ0UfDBW-1635591536593)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\F571E7E6FA59E4AC020EF80D43BC4912.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/659154bf4e800500d226832f969bd604.png)
-
做减法时,可以将100000转化为11111+1进行计算
-
注意:快捷方式的真值必须为负数;考虑计算机规定的字长
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WKBhU2Sf-1635591536594)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\425BAF7D6877FB036744213E8FD1C24E.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/96d49139ef5d22df26088251866a98d0.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S2k7FDF5-1635591536594)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\041D6D223808548CAADC1FD944E18BE8.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/38ddfe6bfe5e5ffa88a956ae2b5a50bb.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XB8h0rYU-1635591536595)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\2205CE58CAB4418B45DFACEA45457C62.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/9e222ee2389d5eeae4bf228f61093556.png)
-
70转换二进制64+4+2,为1000110
-
补码为1.0000表示-1,原码为1.0000表示-0
-
(问题:-1的补码用小数定点机可以表示为1.0000,但是为什么按位取反加1求原码真值为1.1111)
-
(解答:原码小数的定义域不包括-1,也要注意在整数定点机中-1的补码为1,1111)
4.反码表示法
- 反码:与补码相比,少末尾加1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wdf3rtdV-1635591536596)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\DF5C3FF14BF8F4140957317C036E4F1E.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/961f996a7ae1c14505edf36febc9b59d.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fj6cVpt8-1635591536597)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\5B187869B5AD031F85FE44C75EC98032.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/4c61124f08f4cbc591f6e66c832ca5c5.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-if4IPILe-1635591536597)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\0A7563B56E736703AFD2764CABBCF4B7.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/1c4d92ccae9d32a3425b95c1a2c83652.png)
- 反码:正0(0,0000)和负0(0,0000)表示不相同
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i7278YKV-1635591536598)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\C7582633D8FE999C1A1502CF42E2E96B.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/82b25c5a7c2d54080f5f48801e8ef861.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-48oBzNDh-1635591536599)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\448A1166C0E1896C958F081958CE6221.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/e23b5f66e12004a738ba58bf80d99be6.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SGjp6zXK-1635591536600)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\3DA0938344C86803B33B3CF412A3B43F.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/792d2c2e60323b34f899a7d41c564e90.png)
5.移码表示法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xyPzyEDV-1635591536601)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\8811A60EE55138C38893C4B5B8E0D9CB.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/ceada0d18175ad2be4b42df82f60c86a.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u4Dm35vG-1635591536602)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\C85D4FC4E22652C1040B559ED82A6AD2.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/197b73a9948e3660d79c88eb5cb987bf.png)
- 注意:不管正负数均加2^n;移码只有整数形式的定义,通常用来表示浮点数据表示的阶码部分,而阶码均为整数
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uXGQSFzM-1635591536602)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\5069101F89B3543DD857E54046F1F8BA.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/bc504359b350e67625a85a36582834f0.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u1lQVJJ4-1635591536603)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\AAF9513688C37380C0419CEC044E0FE6.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/3f27a88241513ebffa7da22c5f736e6b.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A5Glsqfx-1635591536604)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\D1BD8D533909E390696BD22140029B04.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/af2e509fb5bf66d1ffc28fe01435d035.png)
- 机器数的正0和负0:补码和移码的表示相同,原码和反码的表示不相同
6.2 数的定点表示和浮点表示
一、定点表示
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-89WWK7tx-1635591536604)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\15FD4EB828BF9B73186D6CEF042F0347.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/691466bbfa955b1972ebae60fc878369.png)
- 如果是补码形式,小数定点机能表示的唯一整数为-1
二、浮点表示
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yvxersun-1635591536605)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\46C451ECBD079B6404FA097C5EEC18B1.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/267953ab4e0567fff0016fb1024ace93.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XkUNqrUY-1635591536606)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\ABE944EE83AFA6A28BC321A48C7366A5.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b723ce078b4f812337d340e1903b9fa5.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Hq0wtxW-1635591536606)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\2A9AA8FC0CE5D118585783F384ED624B.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/73d56ca4ff296182256ba502fe6c083c.png)
-
如果尾数的基值取4,尾数中的两位二进制数表示了一位四进制数
-
210中10为2的二进制表示,2100中100为4的二进制表示
1.浮点数的表示形式
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ByALZI3I-1635591536607)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\25F1F16ED86EFE4EDD73DF9EE151DCF5.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/f03cfc8a300a999441a9ede84009ad18.png)
2.浮点数的表示范围
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q0MgK63r-1635591536608)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\F254FF39DE666F69D9C818A159C998AB.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/43d068c67bcf6fbc0637ed1eb6fda8a6.png)
-
浮点数的表示范围由阶码的范围大小来决定
-
上溢:计算机系统按照计算出错处理;下溢:按照机器零处理
-
阶码基本决定数值大小,尾数范围0~1
-
m=4:因为15的二进制表示法需要4位
-
尾数的长度影响数的精度,如果要保证精度,尾数要尽可能的长,因此阶码位数尽可能的少
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vs4cecwU-1635591536609)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\F9583B68E14D10601854CDDDFF0D4B24.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/5e2d819456a6004b114c076bd7884000.png)
3.浮点数的规格化形式
- 作用:尽可能的保证数据的精度,让尾数的有效位数更多

4.浮点数的规格化
-
通过对尾数数据左右移,移除左侧多余的0
-
r=2使尾数的最高位为1;r=4尾数最高两位不等于0,阶码加1每次移动两位
-
通过调整阶码部分,保证数据的真值不发生变化
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xv63qyo1-1635591536611)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\53FA2256DAF313043A86FB2B0041F4DC.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/a7e162f64ee38ffc444dfac9b4f417c7.png)

三、举例
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BZMY9W74-1635591536611)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\EA25021F592670689A0FB52F6A3CE1CC.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/562c6fa28268bdee973f775cd10bf171.png)
-
19=16+2+1;除128数据向右移动7位,移动一位相当于除2
-
在定点机中:因为数值为正数,原码补码反码都相同
-
在浮点机中:尾数和阶码的数值分别表示;因为阶码为负,阶码的原码补码反码不同,但尾数的原码补码反码相同
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vLEj70g1-1635591536612)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\DF94F4D8CA368845FDE1158C2B9C2A04.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/6ce4b755e3f0e7d731d26cb59ce7c502.png)
-
定点数转浮点数,因为数据右移了6位,要乘2110相当于26
-
定点表示:数值部分要求10位,加上符号位0,共11位
-
浮点表示:阶码部分数值位要求4位,加上符号位0,阶码表示共5位
-
阶码为正数,只有用移码表示时,阶码要发生改变
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GQcHcc14-1635591536613)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\C1F52CF9DC49337D1E2F0A29C5D9FF06.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/a76f112be7cc1c8f3f748ccaa61352e4.png)
四、IEEE 754标准
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y4G9cmws-1635591536614)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\BEA9A4855F238057319D7715755EBDD5.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/9f2cf8ddba3861293ea58acf303c54f6.png)
- 注意:数值的符号位在最前面,阶数的符号位在阶码中
6.3 定点运算
一、移位运算
1.移位的意义
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CIA9sFzk-1635591536616)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\25CCBF73947CD24117153ED812038A99.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/13cdb88110accd7f9adb6566082a3250.png)
- 在计算机中,小数点以约定的方式给出,计算机中没有硬件用于表示小数点,因此计算机中的移位,指数据相对于小数点左右移
2.算术移位规则
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xTWO6R8Q-1635591536616)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\10040CEADBD3EDA3A60432CFAA6036B4.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/cd2c99ee01f484a778e04929c9cba1a9.png)
- 负数补码左移添0,因为原码末尾为0的,补码取反加1仍为0(右上角例题)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IfOmo5II-1635591536617)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\DDA6543A113D6DA77C849A9DD9D053E7.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/563356c592e686e5f5f787ef518ab008.png)
-
数值位左移一位:真值变为原来的两倍;数值位右移一位:真值变为原来的一半
-
右移的最后一位可能会丢1;(正数)原码补码反码均导致数值变小
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e3Qaw8Ca-1635591536619)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\E6F2226945CEA724C8A951068EEE2BC7.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/32ed4ed79d79bdd21346c4175a5bd60a.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w9ZJR8Qk-1635591536619)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\D063CC83EB0A1140DFB7C2C1BEEC602E.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/691c6a02d50b82db0a4b587448ce2e25.png)
-
右移的最后一位可能会丢1;(负数)原码表示导致数值绝对值变小,补码表示导致数值绝对值变大
-
右移的最后一位可能会丢0;(负数)反码表示导致数值绝对值变小
3.算术移位的硬件实现
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mj9VhQst-1635591536620)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\28226C558203087DFDA944230C90D8D6.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b8d7efb7a5714226f44562a200366d2a.png)
-
正数原码右移、负数补码和反码右移,相当于符号位自我复制后,符号位再移到数值位的最高位
-
丢失数值位时,如果对应这真值中的0,不影响精度;如果对应着真值中的1,可能变大可能变小
4.算术移位与逻辑移位的区别
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bOQmhrRX-1635591536621)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\D1A6C736CBA20FCA211E0ED3B1B7B1EF.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/eff317550a0fee276919b24a76ec42df.png)
-
逻辑移位:全部数值位都移
-
算术移位:符号位不变,从第二位的数值位移
二、加减法运算
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JBhKHbmg-1635591536622)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\F9EA2537A9C96124D406B0F77D4ECA84.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/e6556879a8ee03bb3a79cbde161f32ab.png)
1.补码加减法运算的公式
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4qn5mLXG-1635591536623)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\AC3281DB00E21DD3E1A4B451308376FD.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b68155aec7fa25a601655a07a95f56f2.png)
2.举例
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RHnY13Wp-1635591536624)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\E544AE5561B1DBAC5B0EE8A6948E67F7.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/dbd105e397c804c4651e176c978d3f20.png)
- 注意:把数字放入计算机中时,必须要考虑寄存器和存储单元的长度、机器数的字长
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QndzUgzg-1635591536625)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\D7068AFE0FBF0E3388C41F53CD0ED3DA.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/8c7544a642b470dabe452fb3dcbe9b3f.png)
-
求B的负数的补码:用B的补码,符号位取反,数值位取反末位加1
-
练习一错误:正确值为20/16,超出了小数定点机最大范围1
-
练习二错误:正确值为+138,超出了整数定点机的范围-128~127
3.溢出的判断
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z4Rdujo7-1635591536626)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\FE9806D012D36EC02E43B93E56C72146.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/16d67e905a20f98602630f43c75d6c8f.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oo9esciJ-1635591536627)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\0275F4FA19A11F03CC4D8E5EF66801CE.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/626f69e6dcaa5ff2ed77b551af4b8ebd.png)
-
模为4表示右移两位,补码表示应该左边补1
-
结果的双符号位不同表溢出,10,…或01,…两种情况;其中第一个符号位为真正符号位,第二个符号位为数值运算溢出部分
-
两位符号位相当于一位符号位增加一个储存数值位的进位
4.补码加减法的硬件配置
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1K7KdzK8-1635591536627)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\37FCB0CA8A5F556EAFEDCB7BF608CA9D.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/c54d48e298cbceb6dc87239e17563328.png)
-
加法器——为核心,完成两个补码的加法运算
-
A——ACC寄存器,保存被加数
-
X——寄存器,保存加数或被减数
-
GA、GS——加法标记GA为1,减法标记GS为1,用来控制求补运算
-
求补控制逻辑——如果进行减法运算,x的补码转化为-x补码;只实现让x补码每位取反,末位加1其他部件实现
-
关于全加器:一共有三个输入,两个输入加法相应位,一个输入进位;每位取反,在加法器和寄存器之间添加反向器;末尾加一,通过第一位的进位实现
三、乘法运算
1.分析笔算乘法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ImoIHqGp-1635591536628)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\2F922A1CE2819FC228E0516E39820A94.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/44aba9936737d13826ac1e90399b7936.png)
2.笔算乘法改进
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mVmJsQZt-1635591536629)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\19EA3C7072B953F66A0A835D409E8FAC.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/c3daff327a8d8bbbccf32155eb9646e4.png)
- 部分积的初始值为0
- 累加结果右移一位得到新的部分积,再与乘数末位决定的被乘数相加,乘数也需不断右移
3.改进后的笔算乘法过程(竖式)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HWufEqaW-1635591536630)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\D0AEB63F6FFC685FEA9B473A9F3880D1.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/cd4019f95911be563d15b8b39b34d262.png)
-
部分积右移之后,多出来的位数放在乘数的存储器中
-
最后还要右移一位得结果,结果应为不带符号位的数值部分,为0.10001111
-
结果的符号位通过异或电路来获得
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MwIK44NZ-1635591536630)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\3215A099C528D2BFBCABECB51DBD5D1C.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/565d1279fe9b577a0aab7e96f0bb6a0e.png)
-
需要n次加法和移位,n为参加运算的数据的数值部分
-
3个寄存器:一个保存被乘数——x寄存器,一个保存乘积的高位——ACC寄存器(其与被乘数相加),一个保存乘数的剩余部分和部分积的低位——MQ寄存器
-
2个移位功能:一个保存累加和的高位和低位的寄存器,一个乘数部分的乘商寄存器;被乘数寄存器不需要移位功能
-
1个全加器:被乘数和部分积高位的相加的操作,全加器只需要n+1位,而不是2n+1位,因为加法操作只加高位部分
4.原码乘法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DVnDGpYS-1635591536630)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\8AAD81CE6D4948BBCD9219EBCB8F4157.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/f8881feb8932c5665eca9ec1cf93705c.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PYSXFDAe-1635591536631)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\1C88EC79014A1A0A3A24E507D01EED22.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/802dfd6855d89c45abb35d16e5056111.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A0tHgPZv-1635591536632)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\ABF2724652ABE52565A0B8A3F7C99DA9.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/ca2c01c765129f67dcdda2d76a262d05.png)
-
原码乘法的数值部分运算采用绝对值的运算,因此进行逻辑右移
-
此时在第n+1位的符号位的数值位1,是数值位运算的进位,也要右移到数值部分
-
注意:最后加完被乘数之后,需要逻辑右移一位
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C0bIBkLA-1635591536634)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\851667E3F3A592E8368525A92AC1F889.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/f1726bd03dfd65c81296d0d67b3efdd2.png)
- 原码乘法结束标志:经过了n次加法(不一定,乘数末位为0可以不进行加法)和n次移位(一定)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KAjAKkaX-1635591536634)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\B526438965B3627D78E2908C9182AB09.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/cbad0bc3ec0a625ae971c752aa5e644d.png)
-
A——寄存器ACC,有n+1位,此处的最高位不是符号位,是进位
-
x——寄存器x,保存被乘数,计算过程中保持不变
-
Q——乘商寄存器MQ,初始时保存乘数,一边计算一边移位,高位部分逐渐被累加和的低位部分占据,直到所有的乘数数值位部分被移除
-
计数器C——用来记录移位次数,初始时数值部分位数n开始,每次减1直到0为止
-
符号位s——两个数的符号位进行异或运算
-
GM——乘法标志
-
移位和加控制——由乘数的末位控制,为1就累加一次然后右移一位,为0可以不做加法直接右移
四、除法运算
1.分析笔算除法
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LV8ABudU-1635591536635)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\75CE3F5623F25644D5318800F3646844.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/3314bc50ff746869792e1bf4abd18fd7.png)
-
被除数和除数比较,大于就商1,小于就商0
-
商完被除数末位加0,除数右移一位,再比较
2.笔算除法和机器除法的比较
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hC24Ka1N-1635591536636)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\BC5B49161CB3E34FF36DC1845E1A500E.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/00716022ae13831cddd8c4e2b1cd2afe.png)
- 笔算除法中除数右移的目的是比大小,因此也可将余数左移比较,减少所需的加法器数据长度
3.原码除法

- 在小数定点机中,保存的数据均为小于1的小数形式,因此结果依然要为小数,被除数要小于除数;整数同理
- 被除数如果等于0,不需要进行除法操作,直接判0操作
- 除数如果等于0,会出现异常操作
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d7Snj61D-1635591536637)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\8531FB3AB917931BCB3E6D90A915E50A.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/346c096e08d5edc4ccd64564aeb9359e.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zs6ZvzCk-1635591536638)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\DCBE493A46D84078372739C1F013713F.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/58187f1b13c43eff6965b558acaf8fbb.png)
-
移位后的余数和除数绝对值比较,通过减法操作进行,相当于加上负y的补码l来进行计算
-
进行减法操作比较后,若为负数则需要商0恢复余数,然后将余数逻辑左移,再和除数进行比较;若为正数,商1直接左移比较
-
在小数定点机中原码只能表示小于1的数,若第一次上商为1就判为溢出
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-94nIc2ZC-1635591536639)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\DBCE67422B1E019BAEC8058F5B0D7B7F.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/4683cb40b05e52f28f6557398fade96e.png)
- 余数左移一位,相当于乘2操作
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GXCtK2dz-1635591536640)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\B8970BAADE2078DA0394E9DFCDBA53A6.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/f4fbe4c5d1270d27bd2922d9b630f196.png)
- 初始时,用被除数绝对值减除数绝对值(加负除数绝对值补码)
- 看当前余数的正负,正数商1左移减除数绝对值(加上其负数补码),负数商0左移加除数绝对值
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JN5VQw17-1635591536640)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\F75992B5842FEAE086E464F05FEDFF2E.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/0b4754614011830d4edb196fda9d2a1e.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o6xh28rO-1635591536642)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\C023C424EEE8A96F28C91FF1559A730B.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/25691d96acf1ec244f3b93a8343cea6d.png)
-
A——寄存器ACC,保存被除数和余数
-
x——寄存器x,保存除数
-
Q——乘商寄存器MQ,保存商,商的最低位控制加减交替
-
移位和加控制——由商的末位来确定加除数还是其负数的补码,余数和商都要左移
-
计数器C:移位次数n或加法次数n+1作为除法停止标志
-
GD——除法标志
-
S——符号位,进行异或运算
-
V——表示溢出
6.4 浮点四则运算
一、浮点加减运算
- 浮点数运算,阶码和尾数的机器数都用补码表示
1.对阶
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9dhVKfod-1635591536642)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\7F295D04AC820C070DF88BE74A13AAFE.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b90cbd22d31f5d7ea1a7304a5efcf080.png)
-
如果左移,尾数高位丢失数据偏差大;如果右移,尾数低位丢失只有精度偏差
-
小阶向大阶看齐,当阶数加1时,尾数要向右移一位
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eDzpkkl0-1635591536643)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\8BA17F508C619BC1CCF5A878103302B8.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/b8e0092d599c8abe02fee84d1ae4c4f7.png)
-
求阶差:比较阶的大小用减法,相当于加上其负数补码
-
对阶:阶码变为相同,尾数向右移相差的单位
2.尾数求和
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9H950SQm-1635591536644)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\C3CE4FFCFF4CFF264657AB90ACBE456E.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/3309c72a103583a26b7fd5d3a05220c5.png)
3.规格化
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RswapIq6-1635591536644)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\32A9AA784D1E2043A63AE1F85EBC307F.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/0c4415223d49764817bc1b79f4b3a2d8.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-646cwHoR-1635591536645)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\6862E4E76037617092695C2D960AAD8E.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/9241df6316598ab4d8635f6e7a5c5f96.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ty4nGUry-1635591536646)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\E282581E6F936D690899F6CCB38CB077.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/09ad0ea7a9fe83dc0d3f87de0f1f4b50.png)
-
尾数符号位为00.或11.考虑左规,为01.或10.考虑右规
-
左规:符号位为11时,左移去1不影响数值;符号位为00时,左移去0不影响数值
-
右规:尾数为01.或10.时,01.中0是真正的符号位,1是数值位为两个正数相加的溢出
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-riKSXMcT-1635591536647)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\E1D594E76C8B2554BC8A671A5C5A219B.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/dce4ebe96b0a3c0aa1ee4ea2de56654c.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQlQB9Mo-1635591536648)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\7E7239DE3D85EF261D97F6C3EA4300FC.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/873eea360b360ac613dedfe19c2b593f.png)
4.舍入
- 数据的长度超过了计算机中所能存储数据的长度,要对低位数据进行处理,保持较好的精度
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OGszFPcs-1635591536649)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\64CD5A97405AB59816D195D1926F1FF5.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/a048be360d89c8536c95af3f715138cb.png)
- 计算机中存储机器数的形式:运算过程采用补码形式;阶符和尾符的符号位部分均取2位,更容易判断溢出
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6BPrAGK-1635591536650)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\4CBA776BBDDC8716BBA152BA993899AE.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/c665a569a0ced3ae940fc1783e2136e3.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9MxOYx80-1635591536650)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\8B63547366F9D217454EA537FD715AC6.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/0eea5eb9cd8250e42bbf93f1bc1cc506.png)
- 对阶过程和尾数求和过程,如果出现了溢出,直接先舍去溢出位
- 右规操作是对于尾数部分进行的
5.溢出判断
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tduul3Yk-1635591536652)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\701EA7A23FFD63D3664551671A421497.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/07532dcb36679b7d8f1a01a47b98c567.png)
-
可表示的数据是离散的,相邻两个点之间的数只能近似表示
-
下溢:按照机器零处理;上溢:按照出错处理
-
最大负数和最小整数的尾数要进行规格化形式
6.5 算术逻辑单元
一、ALU电路
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uSRvh5wo-1635591536652)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\4F6232EDC62FC7D52E27495DF5F12AA1.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/f9d1102656f19578a6fa779ede202b3a.png)
- 蓝色符号为ALU代表运算器,A和B代表参加运算的数据,F表示运算结果,K表示进行运算的类型
- ALU为组合逻辑电路,没有记忆功能,AB输入数据消失F输出也会消失,因此A和B端要链接寄存器,F端也要链接寄存器来保存运算结结果
- ALU 74181可以进行四位数的算术运算和逻辑运算;M和S为控制端
二、快速进位链
1.并行加法器
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UpKWEO8x-1635591536653)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\7F0C6D517E39C1336B25F31CFED0E7FF.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/74708e6e1828e89e7ed0038ecb3ea3fa.png)
- 三个输入:A和B是参与运算的数值,C为低位的进位
- 两个输出:S为和的结果,C为向高位的进位
- 由S的表达式看出,最影响和结果S的运算速度为进位C
2.串行进位链
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dr9Fj7Df-1635591536653)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\A123AAEFD43A753CA8468A29BA209CFA.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/90da792fe81c8da6425c403c1f5084d5.png)
- 进位表达式的求解运用了德·摩根定律,转化为与非门
3.并行进位链
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GCPXo4vw-1635591536655)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\50B1BDD022A0EC25629D8E5EE4D1C8A0.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/6b3e465b14c180f8880c0d894f1ac9aa.png)
- 进位表达式转化为与或非门






![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2g4mKP5v-1635591536661)(file:///C:\Users\lenovo\Documents\Tencent Files\2840175822\Image\C2C\7E8BD28CA7BA0E713F2327510143D142.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/13346f8f369b9e1400f6cd386244c058.png)
计算机运算方法解析:定点与浮点运算
本文深入探讨了计算机中的无符号数和有符号数的表示方法,包括原码、补码、反码和移码。介绍了定点表示和浮点表示的原理,重点讲解了浮点数的表示范围、规格化形式以及IEEE754标准。此外,详述了移位运算、加减法、乘法和除法的运算规则,特别是补码运算和浮点数的加减运算过程,最后提到了ALU电路在这些运算中的作用。
894

被折叠的 条评论
为什么被折叠?



