专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 汇编语言

怎么把带小数的十进制转换成二进制数

发布时间:2010-06-14 15:17:14 文章来源:www.iduyao.cn 采编人员:星星草
如何把带小数的十进制转换成二进制数?
如何把带小数的十进制转换成二进制数?


------解决方案--------------------
小数部分实际上,是用的乘
例如:

52.63== 
  
52=1010010
0.63=


0.63
×
2
————
0.26 。。1
×
2
————
0.52 0
×
2
————
0.04 1
×
2
————
0.08 0

这样一来就Ok了,如果还想继续算也行,不过我们一般都保留四位, 
整数部分要和小数部分分开算!

一步步的算,乘出来的整数,当做二进制,这样,就可以,实际有很多方法了,不是就这一种,!
不过这一种是最简单的
------解决方案--------------------
让大哥教你们一招好办法,怎么简单的转换,以及怎么判别能否用给定的位数精确表示一个10进制小数。
以0.635为例,这个数能用二进制小数表示么,能的话需要多少位呢。
因为0.635*256=162.56,注意小数部分不为0。所以8位二进制小数无法精确表示。再看0.635*65536=41615.36。小数部分仍不为0,所以16也不能精确表示。
到这里相信大家也看出点什么了,看一个十进制小数能否用给定的n位二进制小数表示,就用那个十进制乘以2的n次方,看小数部分是否为零,是的话就能用n位精确表示,否的话就不能。
其实楼上的52.63可以转换的,8位表示小数部分,把0.63*256也就是2的8次方得到161.23,23不要,把161化成二进制表示为10100001,再连上52的,就成了1010010.10100001,这里用8位表示小数是表示不尽的,因为0.63*256=161.23,小数部分不为零。
这些公式很容易推出来的,如果大家想不出的话,顶一下,我告诉你们。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: