进制转化
十进制转二进制:
将十进制数字按照2进制的位权展开,最高位为2的0次方,接着是2的1次方,2的2次方,最后是2的n次方,每一位上 1 或 0 表示,将每一个2的幂次位上的数字相加,和为结果。
十进制转换为二进制的过程:
将十进制的45展开为2的幂次: 45=32+8+4+1 即45=25+24+23+22+2^0 按照2的幂次位上的数字,
相加得到结果:101101
二进制转十进制:
将二进制数字按照2进制的位权展开,最高位为2的0次方,接着是2的1次方,2的2次方,最后是2的n次方,每一位上 1 或 0 表示,将每一个2的幂次位上的数字相乘,将乘积相加,和为结果。
二进制转换为十进制的过程:
将二进制的101101展开为2的幂次: 101101=25+23+22+20
按照2的幂次位上的数字,相乘得到结果:32 * 1 +8 * 1+4 * 1+1 * 1=45
十进制小数转化为二进制:
将该十进制数不断除以2,取余数,直到商为0,将余数倒序排列即为二进制表示。
将十进制小数3.125转换为二进制:
首先将3.125转换为整数,即3,然后将3转换为二进制,即11,再将小数0.125转换为二进制,即0.001,最后将整数11与小数0.001拼接即为结果11.001,即3.125的二进制表示为11.001。
二进制转化为十进制小数:
将该二进制数视为权值的累加,从低位开始,依次将每个位上的二进制数乘以2^n(n为位数),然后将所有结果累加求和,即为十进制表示。
将二进制小数11.001转换为十进制:
将11.001视为权值的累加,从低位开始,1×20+1×21+0×22+0×23+1×2^4=3.125,即11.001的十进制表示为3.125。
八进制转二进制:
八进制转换成二进制可以分解成每个八进制位转换为三位二进制位,
将八进制的125转换为二进制: 125: 1 = 001 2 = 010 5 = 101 因此,125的二进制表示为001 010 101,即1111101。
二进制转换为八进制:
二进制转换为八进制的方法是将二进制数字分组,每组三个数字,从左至右,每组三个二进制位相加,转换成对应的八进制数字,最后将转换的八进制数字拼接起来即可。
例如: 二进制数字:10110111 八进制数字:527
十六进制转换为二进制:
将十六进制数字(0-F)每个替换为4位二进制数,然后拼接起来,就是二进制数。
例如:十六进制数B5,将其每个字符替换为4位二进制数,即1011 0101,然后拼接起来,就是10110101,就是二进制数。
二进制转换为十六进制:
将二进制数按4位一组分组,如果不足4位则在左边补0。然后将每组二进制数所对应的十六进制数字(0-F)拼接起来,就是十六进制数。
例如:二进制10110101,将其分组后为:1011 0101,然后将每组二进制数所对应的十六进制数字拼接起来,即B5,就是十六进制数。
其他进制转化方法:
通过二进制的相互转化可以将十进制转化为十六进制,八进制转化十六进制等等
上一篇: 十六进制字节和十六进制转二进制
下一篇: 十六进制到二进制的快速求和
推荐阅读
-
Redis 八进制 - 来自黑马程序员
-
LeetCode Hot100 | Day5 | 二进制树右视图 && 二进制树扩展为链式列表
-
数据结构编程实践 20 讲(Python 版)-05 二进制树
-
连接可形成的最大值的二进制表示(Java) 418 每周竞赛题 1
-
十进制到十六进制 ← Python 字符串
-
重新学习 MySQL] 59:二进制字符串类型和 JSON 类型59:二进制字符串类型和 JSON 类型
-
使用 JLINK 合并启动和应用程序十六进制文件,然后使用 Keil 刻录到微控制器中。
-
前端] 将前端数据转化为后端数据
-
C++ 系列 - 二进制搜索树
-
代码随机化算法训练营 | 235. 二进制搜索树的最近共同祖先, 701. 二进制搜索树中的插入操作, 450. 二进制搜索树中删除节点