当前位置:网站首页>各进制数之间的互相转换
各进制数之间的互相转换
2022-04-23 05:55:00 【begeneral】
1、十进制转二进制
十进制转二进制有2种方式,第一种是用这个十进制数不断的除以2,直到最后的余数是0或者1,然后将最后一次的结果每次想出的余数从高位到低位排列起来,位数不够的话,高位补0.
比如十进制数9:
9/2=4余1
4/2=2余0
2/2=1余0
那么得到的二进制就是:0000 1001。这是提一下,因为除数是2,所以最后一次相除的结果只能是0或者1,等于0的情况是被除数是1或者0,也就是1/2或0/2,其他的十进制数和2相除的最后
结果都是1。
这种方式只适用于当十进制数比较小的时候,当十进制数很大的时候,除起来就不太方便了。这个时候可以先把十进制转换成十六进制,然后将十六进制转换成二进制,这个方法下面会介绍。
2、十进制转十六进制
十进制转十六进制的原理和十进制转二进制的原理是一样的,就是把这个十进制数不断除以16,将余数从高位到低位排列。
比如十进制数100:
100/16=6余4
因为6小于16就不用再继续往下除了,结果就是0x64。我们再看一个大一点的数字,十进制数:5000
5000/16=312余8
312/16=19余8
19/16=1余3
那么结果就是0x1388。
3、十六进制转十进制
十六进制中的A、B、C、D、E、F分别表示十进制的10、11、12、13、14、15
这个转换就是把十进制转十六进制的方法反过来,用十六进制位上的数字乘以这个位上对应的16次方的幂次,比如:0x3E
0x3E=3*16^1+14*16^0=3*16+14*1=48+14=62
再比如需要2个字节表示的十六进制数:0x36BC
0x36BC=3*16^3+6*16^2+11*16^1+12*16^0=3*4096+6*256+11*16+12*1=14012
4、十六进制转二进制
十六进制的每个数字都是占4个位的,把这个数字转换成4位的二进制数即可把一个十六进制的数转换成二进制的。
比如:0x5F
5=4+1=2^2+2^0=0101
F=8+4+2+1=2^3+2^2+2^1+2^0=1111
那么结果就是0101 1111
刚才上面说把大的十进制数转换成二进制时,要先把它转换成十六进制,再把十六进制转换成十进制。
因为除以16肯定比除以2的次数要少,而十六进制转换成二进制又比较方便,所以我觉得这样做效率会更高一些。
版权声明
本文为[begeneral]所创,转载请带上原文链接,感谢
https://blog.csdn.net/niechaoya/article/details/112172454
边栏推荐
猜你喜欢

JS的解析与执行过程

.Net Core3.1 使用 RazorEngine.NetCore 制作实体生成器 (MVC网页版)

Collection of practical tips for C language (continuously updated)

解析psd文件,并映射成组件

.Net Core 下使用 Quartz —— 【4】作业和触发器之作业属性和异常

Assembler 32-bit unsigned addition calculator

Analysis and setting of dead time

元素计算距离与event事件对象

JS高频面试题

【ES6】 Promise相关(事件循环,宏/微任务,promise,await/await)
随机推荐
【正河源刀具相关】
2022LDU寒假训练-程序补丁
SiteServer CMS5.0使用总结
服务器常见错误代码 总结
Wildcards and special symbols for shell scripts
【关于数据库的简易认识】
VHDL finite state machine (FSM) code example
Assembly base code example
Use of shell scripts & and 𞓜
欢迎使用Markdown编辑器
监听除某元素之外点击事件
查漏补缺(九)---程序篇
QT add qserialport class to realize serial port operation
The difference between single quotation mark, double quotation mark and back quotation mark in shell script
解析psd文件,并映射成组件
五个路由守卫的使用
js获取链接?后边的参数名称或者值,根据url ?后的参数做判断
HDU-Memory Control
Informatics one book pass - small ball
SQLite compilation