如何用二进制表示一个小数

如题所述

这里需要结合具体例子来讲解,比如:十进制的0.65转化为二进制表示为:0.1010011……(跟精度限制有关)。

十进制小数用二进制通常是用乘二取整法来获得的。

比如0.65换算成二进制就是:0.65 × 2 = 1.3 取1,留下0.3继续乘二取整;0.3 × 2 = 0.6 取0, 留下0.6继续乘二取整;0.6 × 2 = 1.2 取1,留下0.2继续乘二取整;……

一直循环,直到达到精度限制才停止(所以,计算机保存的小数一般会有误差,所以在编程中,要想比较两个小数是否相等,只能比较某个精度范围内是否相等)。


扩展资料:

二进制的优缺点:

一、优点

1、数字装置简单可靠,所用元件少;

2、只有两个数码0和1,因此它的每一位数都可用任何具有两个不同稳定状态的元件来表示;

3、基本运算规则简单,运算操作方便。

二、缺点

用二进制表示一个数时,位数多。因此实际使用中多采用送入数字系统前用十进制,送入机器后再转换成二进制数,让数字系统进行运算,运算结束后再将二进制转换为十进制供人们阅读。

二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。

参考资料来源:百度百科-二进制

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
  首先将一个小数如:235.725的小数部分取出,即:0.725,将其乘以进制数二进制就乘以2后得到1.45,取其整数部分1为二进制小数的第一项(十分位),在将小数部分0.45乘2得0.9,取其整数部分为二进制小数的第二位(百分位)0,在将其小数部分0.9乘2,得1.8,取其整数部分为二进制小数的第三位(千分位)1,取其小数部分0.8再乘2……以此类推,直到值为0或形成循环小数则停止.
第2个回答  推荐于2017-10-10
比如说5.6

整数部分5用2进制为101

小数部分0.6
有这样一个公式: *2 如果<1就为0,基数=基数;大于1,就为1,基数=基数-1

0.6*2=1.2>0 那么就为1 基数=1.2-1=0.2

0.2*2=0.4<0 那么就为0,基数=0.4

0.4*2=0.8<0,那么就为0,基数=0.8

0.8*2=1.6>0 那么就为1,基数为1.6-1=0.6
:
:
:
:
所以5.6可以表示为:101.1001
想往下面再乘,就更精确了本回答被提问者采纳
第3个回答  2008-04-03
用浮点数表示啊
相似回答