关于进制转换,比较小白的问题,各位见谅:-) 十进制的234.8转换成二进制,整数部分没问题,这个小数部分0.8我搞了半天,怎么转换啊,难道是个无限循环的二进制???请各位指导一下,我刚入门。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗯 所以实数计算会有精度丢失的 谢谢,那这个数具体转换的时候二进制怎么写小数位? 十进制小数→→→→→二进制小数 方法:“乘2取整” 对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分. 如此不断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次得到为最低位 如:0.25的二进制 0.25*2=0.5 取整是0 0.5*2=1.0 取整是1 即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位) 0.8125的二进制 0.8125*2=1.625 取整是1 0.625*2=1.25 取整是1 0.25*2=0.5 取整是0 0.5*2=1.0 取整是1 即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位) 十进制小数→→→→→八进制小数 方法:“乘8取整” 0.71875)10 =(0.56)8 0.71875*8=5.75 取整5 0.75*8=6.0 取整6 即0.56 十进制小数→→→→→十六进制小数方法:“乘16取整”例如: (0.142578125)10=(0.248)16 0.142578125*16=2.28125 取整2 0.28125*16=4.5 取整4 0.5*16=8.0 取整8 即0.248 约摸估一下就是 2^(-1) + 2^(-2) = 0.75可能造成精度损失,很容易对不上,看精度要求 结贴了吧,只能给一个人,55555,不过还是谢谢各位的帮忙:) 原来可以给给几个人,给了,呵呵, Java技术网站大全 java如何监听系统中插入U盘,并列出盘符? 找人帮忙改code,有点长,但应该不难 求助!!各位高手!! 我做的挖地雷游戏在restart后一刷新button都不见了,但鼠标一放上去就出现了,放在哪儿那个键出来。请教各位。 java高手过来,急! 新手上路,有问题要问,希望多多关照, 如何控制文件读写冲突? 为什么我做的JSplitPane拖到一定程度就不能再拖动了? 我要学JAVA 二维数组 这段c代码如何改写???? 谢谢
所以实数计算会有精度丢失的
谢谢,那这个数具体转换的时候二进制怎么写小数位?
对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分.
如此不断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次得到为最低位
如:0.25的二进制
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)
0.8125的二进制
0.8125*2=1.625 取整是1
0.625*2=1.25 取整是1
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位)
十进制小数→→→→→八进制小数 方法:“乘8取整”
0.71875)10 =(0.56)8
0.71875*8=5.75 取整5
0.75*8=6.0 取整6
即0.56
十进制小数→→→→→十六进制小数方法:“乘16取整”例如:
(0.142578125)10=(0.248)16
0.142578125*16=2.28125 取整2
0.28125*16=4.5 取整4
0.5*16=8.0 取整8
即0.248
可能造成精度损失,很容易对不上,看精度要求