首页 > 编程知识 正文

计算机二进制小数怎么算,二进制下的小数

时间:2023-05-06 20:44:52 阅读:235279 作者:4308

前言

理解浮点数的第一步是考虑含有小数值的二进制数字

十进制小数

首先看一下十进制的小数的表示,举例

十进制数:12.34

12.34 === 1 * 101 + 2 * 100 + 3 * 10-1 + 4 * 10-2 === 12

二进制小数

类比十进制小数表示形式

二进制数:101.11

101.11 === 1 * 22 + 0 * 21 + 1 * 20 + 1 * 2-1 + 1 * 2-2 === 4 + 0 + 1 +

+

=== 5

十进制小数转二进制小数

举例:12.12510

将小数点前面的十进制数转二进制,一直除2得到1100

小数点后面的数采用乘2取整,顺序排列法

具体得做法是:

用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积为1,或者达到所要求的精度为止

0.125

2

-----

0.250 ----> 取整数得到 0

2

-----

0.500 ----> 取整数得到 0

2

-----

1.000 ----> 取整数得到 1

最终得到1100.0012

举例12.62510

0.625 * 2 ---> 1.250 取出整数部分得到 1

0.250 * 2 ---> 0.500 取出整数部分得到 0

0.500 * 2 ---> 1.000 取出整数部分得到 1

最终二进制小数为:1100.1012

举例12.710

0.7 * 2 ---> 1.4 取出整数部分 1 剩余0.4

0.4 * 2 ---> 0.8 取出整数部分 0 剩余0.8

0.8 * 2 ---> 1.6 取出整数部分 1 剩余0.6

0.6 * 2 ---> 1.2 取出整数部分 1 剩余0.2

0.2 * 2 ---> 0.4 取出整数部分 0 剩余0.4

0.4 * 2 ---> 0.8 取出整数部分 0 剩余0.8

-------> 循环往复,直到精度够为止...

最终二进制小数为:1100.1011002

总结

二进制小数点向左移动一位相当于这个数被2除,向右移动一位相当于将数乘2

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。