CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

有趣的限位数运算

已有 4055 次阅读 2010-12-26 16:01 |个人分类:教学笔记|系统分类:科研笔记| 数学, 机器计算

姜咏江
 
只用数码记数没有小数点和正负号,这能够表示正负数吗?这种位数固定的用数码表示的数叫限位数。如数码固定为3位,则3位的数共有1000个。让两个3位数相加为1000的大数表示小数的相反数。例如501是499的相反数-499。全部对是(1,999)(2,998)……(498,502)(499,501)(500,500)由于500是对称点,规定500的值是-500。当然0还是0。
 
这种不用正负号表示正负数的方法叫对称制。对称制3位数大于或等于500的数值都表示负数,4位数大于或等于5000的数值都表示负数,5位数大于或等于50000的数值都表示负数,以此类推。对称制运算超长数码丢失。
 
趣味一:用加法来计算减法的结果
 
例题1   计算 451-329。
 
因为-329是用671表示的,因而
 
451-329可以用451 + 671计算,由于位数的限制,最高进位1丢失,得451 + 671 = 122。
 
用一般减法验算:451-329 =122。
 
趣味二:无符号数相乘得有符号结果
 
对称制中,负数扩充添“9”,正数扩充添“0”。
 
例题2     753,992的值分别是-247和-008,将它们扩充成6位,直接相乘就可以得到值。
 
 
 
 
例题3    正负数相乘:833×025。
 
扩充成6位,有
 
833×025 = 999833×000025 = 995825 = -004175。
 
验算:因833= -167,则(-167)×25 = -4175。
 

趣味三:无符号数相除得有符号结果

 
用限位数表示的异号数可以直接用试商的方法得到有符号结果。负数除以正数,可以如下计算。
 
例题4       试商计算943632÷271。
 
 
从试商看到943632÷271得到的999792的值是-208,而943632的值是-56368,
 
验算知 -56368÷271 = -208。
 
这种用无符号数表示负数除以正数的试商运算,由于被除数是负数,故而先要确定商的位数(虚线的位置),虚线左面的添加商码一律为“9”,其部分积的进位要丢掉。虚线右面的商数与除数的乘积不会丢失进位。
 
限位数方法可以用到任何进制,它是机器运算的基础。
 
2010-12-26
 
 
 


https://blog.sciencenet.cn/blog-340399-397671.html

上一篇:让孩子必须学会的数学游戏
下一篇:限位数除法试商的原则
收藏 IP: .*| 热度|

1 杨华磊

发表评论 评论 (3 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-18 21:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部