二进制、十进制转换进阶--小数点后的转换

上一篇文章详细介绍了整数的二进制,八进制,十进制,十六进制之间的转换

详情可前往:二进制、八进制、十进制、十六进制的相互转换-CSDN博客

这篇介绍含有小数点之间的转换

一:二进制转十进制

二进制 101.11 可以分为两部分 101 和 0.11

整数部分 101 转换的方式是从右到左,每个数乘以2的N次方(N从0开始),再相加

小数部分0.11 则是从左往右,每个数除以2的M次方(N从1开始),再相加

整数部分:

小数部分:

整数部分和小数部分拼接起来就是5.75

所以二进制101.11转为十进制的结果为 5.75

二:十进制转二进制

十进制5.625转换二进制,依旧分为整数部分和小数部分来转.

整数部分5除以2,直到商为0,取余数倒叙排列

小数部分0.625乘以2,每次取积的整数部分,小数部分继续乘以2,直到小数部分为0,最后取整数部分的正序排列

最后把整数部分拼接上小数部分,即得到转换后的答案

整数部分:

5 除以 2, 得到2 ---> 取余数 1

2 除以 2, 得到 1---> 取余数 0

1 除以 2, 得到 0 ---> 取余数 1 (商位0,停止操作)

则5的二进制位 101 (注:这里巧合101 的正序和倒叙一样,但是你要明白,是从第三步->第二步->第一步 取的)

小数部分:

0.625 乘以 2得到 1.25 ---> 取整数 1

0.25 乘以 2 得到 0.5 ---> 取整数 0

0.5 乘以 2 得到 1.0 ---> 取整数 1 (小数位0,停止操作)

则0.625的二进制位 101 (注:这里巧合101 的正序和倒叙一样,但是你要明白,是从第一步->第二步->第三步 取的)

整数部分和小数部分拼接起来就是101.101

所以十进制5.625转为二进制的结果为 101.101

相关推荐
tobias.b6 小时前
408真题解析-2010-7-数据结构-无向连通图
数据结构·算法·图论·计算机考研·408真题解析
良木生香7 小时前
【鼠鼠优选算法-双指针】003:快乐数 & 004:盛水最多的容器
算法
Cx330❀8 小时前
【优选算法必刷100题】第41-42题(模拟):Z 字形变换,外观数列
c++·算法
沃尔特。8 小时前
直流无刷电机FOC控制算法
c语言·stm32·嵌入式硬件·算法
CW32生态社区8 小时前
CW32L012的PID温度控制——算法基础
单片机·嵌入式硬件·算法·pid·cw32
Cx330❀8 小时前
【优选算法必刷100题】第038题(位运算):消失的两个数字
开发语言·c++·算法·leetcode·面试
漫随流水8 小时前
leetcode回溯算法(93.复原IP地址)
数据结构·算法·leetcode·回溯算法
燃于AC之乐8 小时前
我的算法修炼之路--5——专破“思维陷阱”,那些让你拍案叫绝的非常规秒解
c++·算法·贪心算法·bfs·二分答案·扩展域并查集·动态规划(最长上升子序列)
艾莉丝努力练剑8 小时前
【优选算法必刷100题】第021~22题(二分查找算法):山脉数组的峰顶索引、寻找峰值
数据结构·c++·算法·leetcode·stl
艾莉丝努力练剑8 小时前
【优选算法必刷100题】第007~008题(双指针算法):三数之和、四数之和问题求解
linux·算法·双指针·优选算法