A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

小数在计算机中也是用二进制进行表示,怎么表示?
{:soso_e101:} 可能我这个问题有点问的不对,不好意思。
只看到教程里面进制转换,就有了这个想法。
难道数字和小数点那个点(即.)分别表示?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

3 个回复

倒序浏览
直接转换的话,十进制转成二进制(括号表示次方)
一个数可以表示成:   .....10(-2)+10(-1)+10(0)+10(1)+10(2)+10(3).....
也就可以表示成       .....2(-2)+2(-1)+2(0)+2(1)+2(2)+2(3).....
拿10.25  可以写成 2(3)+2(1)+2(-2):所以二进制就是1010.01
但是不是每一个都那么刚好能除尽的。你弄个10.3你就知道了,
因此小数的存储是以浮点形式存储的,具体百度浮点数的存储方法。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
纯小数的话就是拿给定的十进制数乘以2,只要小数位不为0就继续乘,每次取整数位作为二进制数的小数位由低至高排列(取完后要将小数位变成0),整数位为0。
如  0.375
      *       2
=0.75      小数部分不为0 ,取整数部分0作为二进制数小数部分的第一位
*2
=1.5     取1作为第二位 然后将整数位取成0  
变成
0.5     
*2
=.1.0    此时小数部分为0,取整数部分1作为第三位,加上整数位0即为 0.011   
或者,就是靠经验算法,因为0.375=1/4+1/8,所以就是0.011了。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
大家的知识很丰富,{:soso_e179:}。我百度搜索浮点数,看得有些晕。不过似乎和小数存储关系很大。有时间,我再好好研究!谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马