时间:2021-05-02
二进制、八进制和十六进制向十进制转换都是非常容易的,就是“按权相加”。
所谓“权”,也即“位权”。例如,十进制第1位的位权为100=1,第2位的位权为101=10,第3位的位权为102=100;而二进制第1位的位权为20=1,第2位的位权为21=2,第3位的位权为22=4。设数字所采用的进制为N(基数也是N),那么第 i 位的位权为 N(i-1)。
不同进制转换为十进制举例:
二进制:1001 = 1×23 + 0×22+ 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9
二进制:101.1001 = 1×22 + 0×21+ 1×20+ 1×2-1+ 0×2-2 + 0×2-3 + 1×2-4= 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625
八进制:0302 = 3×82 + 0×81+ 2×80 = 192 + 0 + 2 = 194
八进制:0302.46 = 3×82 + 0×81 + 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375
十六进制:0Xea7 = 14×162 + 10×161 + 7×160= 3751
十进制转换为二进制——辗除法
上节的表格中给出了简单的十进制和二进制的转换关系,要想获得更多的转换关系,可以使用辗除法。辗除法也就是“除模取余”法。除模取余就是将一个几进制的数转化成另一个进制时, 另一个进制的基数就是模,用将要转化的进制数除以模,取它的余数。
下图以十进制的“19”转换为二进制为例进行讲解:
如图所示,以2为除数,一直相除下去,直到商为0,余数则为求得的二进制数。
注意:余数要倒序排列,也就是说,最先求得的余数排在二进制的最后面,最后求得的余数排在二进制的最前面。上面的例子中,最后求得的二进制数为 10011。
虽然其他进制也可以按照辗除法来转换,但是比较麻烦,下面介绍更简单的方法。
二进制和八进制的转换
二进制向八进制的转换是每三位二进制数转换为一位八进制数,运算的顺序是从低位向高位依次进行,高位不足三位用零补充。以二进制“1011101”为例,如下图所示:
转换的结果为:1011101 = 0135
八进制向二进制转换的思路是八进制的一位转换为二进制的三位,运算的顺序是从低位向高位依次进行。同样以八进制“0135”为例,如下图所示:
转换的结果为:0135 = 1011101
二进制和十六进制的转换
二进制向十六进制转换时,四位转换成十六进制的一位,运算的顺序是从低位向高位依次进行,高位不足四位用零补。以“1110011”转换成十六进制为例,如下图所示:
转换的结果为:1001011101 = 0X25D
十六进制向二进制转换,就是把十六进制的一位转换成二进制的四位,注意运算的顺序是从低位向高位依次进行。同样以十六进制“0X25D”为例,如下图所示:
以上就是对C语言进制直接转化做的一个资料整理,学习进制转换的朋友可以参考下
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C语言实现进制转换函数的实例详解前言:写一个二进制,八进制,十六进制转换为十进制的函数要求:函数有两个参数,参数(1)是要转换为十进制的进制数,参数(2)是标示
用C语言实现将十进制转化为二进制,并统计转换后的二进制码中1的个数。#includeintbinaryNum[16];//存放转换后得到的二进制码intcoun
Python3进制之间的转换在Python里面实现进制之间的转换是非常方便的,有专门的函数来进行这个操作:下面直接上代码:#进制之间的转换a=10#转换为二进制
计算机语言介绍:机器语言、汇编语言、高级语言C语言的发展历程计算机的原码、反码和补码计算机为何采用补码的形式来表示负数十进制小数如何转换为二进制计算机系统的硬件
C语言·十六进制转十进制问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英