一、文章大概是这么说的,【】里面的内容不理解: 将0.45转换为二进制[保留到小数点第四位]; 10
一、文章大概是这么说的,【】里面的内容不理解:将0.45转换为二进制[保留到小数点第四位];0.45*2=0.9[取0]0.9*2=1.8[取1]0.8*2=1.6[取1...
一、文章大概是这么说的,【】里面的内容不理解:
将0.45转换为二进制[保留到小数点第四位];
0.45*2=0.9[取0]
0.9 *2=1.8[取1]
0.8 *2=1.6[取1]
0.6 *2=1.2[取1]
0.2 *2=0.4[取0]
当第五次做乘法时候,结果是0.4
0.4继续乘以2得0.8
0.8又乘以2的得到1.6 ……
这样一直乘下去,最后不可能得到小数部分为零,因此,【这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。】这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。
二、问题:【】里面的内容
如果我将一个整数转换成二进制,得到 0011.101 101 101..........(101为无限循环)
我只想获取小数点前3位,即 0.101。可是小数点后的第四位是1,那1就该进一位吗?(四舍五入是不是就要移位或者进位 ) 变成0.110了?
如果是001.111 1……那第四位四舍五入,进一位不就是 100.000了……
也许我对作者意思没用领悟,请大神解释下 展开
将0.45转换为二进制[保留到小数点第四位];
0.45*2=0.9[取0]
0.9 *2=1.8[取1]
0.8 *2=1.6[取1]
0.6 *2=1.2[取1]
0.2 *2=0.4[取0]
当第五次做乘法时候,结果是0.4
0.4继续乘以2得0.8
0.8又乘以2的得到1.6 ……
这样一直乘下去,最后不可能得到小数部分为零,因此,【这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。】这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。
二、问题:【】里面的内容
如果我将一个整数转换成二进制,得到 0011.101 101 101..........(101为无限循环)
我只想获取小数点前3位,即 0.101。可是小数点后的第四位是1,那1就该进一位吗?(四舍五入是不是就要移位或者进位 ) 变成0.110了?
如果是001.111 1……那第四位四舍五入,进一位不就是 100.000了……
也许我对作者意思没用领悟,请大神解释下 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询