计算机中二进制有小数吗,计算机中的二进制小数

本文介绍如何将十进制小数转换为二进制小数,包括整数部分和小数部分的具体转换步骤,并通过实例说明整个转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

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

十进制小数

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

十进制数:12.34

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

math?formula=%5Cfrac%7B34%7D%7B100%7D

二进制小数

类比十进制小数表示形式

二进制数:101.11

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

math?formula=%5Cfrac%7B1%7D%7B2%7D +

math?formula=%5Cfrac%7B1%7D%7B4%7D === 5

math?formula=%5Cfrac%7B3%7D%7B4%7D

十进制小数转二进制小数

举例: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值