c++将小数化为二进制_二进制与十进制之间的互相换算

352976236fe4abf15985f3a8827f9d6a.gif

进制之间的互相转换一直都是看过了又忘,所以今天学习后还是整理记录了一下,以后用到的时候就可以直接查看。

17世纪至18世纪的德国数学家莱布尼茨,是世界上第一个提出二进制记数法的人。用二进制记数,只用0和1两个符号,无需其他符号。

二进制的运算

加法

二进制加法有四种情况: 0+0=0,0+1=1,1+0=1,1+1=10(0 进位为1) 。

乘法

二进制乘法有四种情况: 0×0=0,1×0=0,0×1=0,1×1=1 。

减法

二进制减法有四种情况:0-0=0,1-0=1,1-1=0,0-1=1 。

除法

二进制除法有两种情况(除数只能为1):0÷1=0,1÷1=1。

4da35f79174e1a93abd26878c1a973c1.png

进制转换

二进制转换为十进制

方法:“按权展开求和”,该方法的具体步骤是先将二进制的数写成加权系数展开式,而后根据十进制的加法规则进行求和 。

【例】:

366fac36-d14e-eb11-8da9-e4434bdf6706.svg

规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。

十进制转换为二进制

一个十进制数转换为二进制数要分整数部分和小数部分分别转换,最后再组合到一起 。

整数部分采用 "除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。例:125。

bf958827ae375e269a252e4d133fd7b2.png

小数部分要使用“乘 2 取整法”。即用十进制的小数乘以 2 并取走结果的整数(必是 0 或 1),然后再用剩下的小数重复刚才的步骤,直到剩余的小数为 0 时停止,最后将每次得到的整数部分按先后顺序从左到右排列即得到所对应二进制小数。以0.125为例:

1356e3ad703d758ef4efdc9dbcbffa11.png

----活到老,学到老----

fdce6e6b22ebeb581ebaa120984e42e7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值