关于进制转换,比较小白的问题,各位见谅:-) 十进制的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,不过还是谢谢各位的帮忙:) 原来可以给给几个人,给了,呵呵, 大家集合图片看下哦,为什么dObj.length=undefined 而不是2哦? 这个程序怎么写呢?大家帮帮忙啊! java中如何使用下载控件 Java做的“MPEG图像生成器”有什么问题 如何把一个类型的对象克隆成另一个类型的对象 跪求,如何用AWT SWING开发图形界面 谁有jbuilder中文版!? 我怎么样才能在执行完一段程序后,过一段时间让程序执行另外一段程序? 简单不能再简单的问题,3*2^3为什么得5? 哪位大神能帮我解决一下关于hibernate注解的问题啊? 二维数组 这段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
可能造成精度损失,很容易对不上,看精度要求