2进制,8进制,16进制,32进制10进制转换公式

2进制,8进制,16进制,32进制10进制转换公式,第1张

有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。个位,N=1;十位,N=2举例:
110B=12的2次方+12的1次方+02的0次方=0+4+2+0=6D
110Q=18的2次方+18的1次方+08的0次方=64+8+0=72D
110H=116的2次方+116的1次方+016的0次方=256+16+0=272D
2、十进制数转二进制数、八进制数、十六进制数
方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。
3、二进制数转换成其它数据类型
3-1二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足,
就是一个相应八进制数的表示。
010110001100B=2614Q
八进制转二进制反之则可。
3-2二进制转十进制:见1
3-3二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,
不足四位的用0补足,就是一个相应十六进制数的表示。
0010011000010100B=2614H
十进制转各进制
要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。
一、十进制转二进制
如:55转为二进制
2|55
27――1 个位
13――1 第二位
6――1 第三位
3――0 第四位
1――1 第五位
最后被除数1为第七位,即得110111
二、十进制转八进制
如:5621转为八进制
8|5621
702 ―― 5 第一位(个位)
87 ―― 6 第二位
10 ―― 7 第三位
1 ―― 2 第四位
最后得八进制数:127658
三、十进制数十六进制
如:76521转为十六进制
16|76521
4726 ――5 第一位(个位)
295 ――6 第二位
18 ――6 第三位
1 ―― 2 第四位
最后得1276516
二进制与十六进制的关系
2进制 0000 0001 0010 0011 0100 0101 0110 0111
16进制 0 1 2 3 4 5 6 7
2进制 1000 1001 1010 1011 1100 1101 1110 1111
16进制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)
可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:
3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102
右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。
二进制与八进制间的关系
二进制 000 001 010 011 100 101 110 111
八进制 0 1 2 3 4 5 6 7
二进制与八进制的关系类似于二进制与十六进制的关系,以八进制的各数为0到7,以三位二进制数来表示。如要将51028 转为二进制,5为101,1为001,0为000,2为010,将这些数的二进制合并后为1010010000102,即是二进制的值。
若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。
一在计算机应用中,二进制使用后缀b表示;十进制使用后缀d表示,八进制用Q表示,十六制使用后缀H表示。
二二进制,十六进制与十进制的计算转换
1二进制转换为十进制
计算公式:二进制数据X位数字乘以2的X-1次方的积的总和
例:10101011b=( )d
数据
1 0 1 0 1 0 1 1
X-1位
7 6 5 4 3 2 1 0

十六进制 是1 2 3 4 5 6 7 8 9 a b c d e f 然后就是10
16进制的10就是10进制的16
所以用 要转的数去除16 得到商和余数,如下
25 转16进制 25/16=1 余 9
因为商的1是指有一个16 也就是16进制里的10 再加上余下的9 就得到了19这个数,也就是十 进制的25
32 转16进制 32/16=2 余 0 所以32转成16进制后是20

10进制,就是上一位的1表示下一位10个,
16进制,就是上一位的1表示下一位16个,
16进制的32,3表示3个16,就是48,个位的2还是表示2个,所以总共是50,
任何数,不管是几进制的,个位的数如果数字相同,就表示相同的数。
比如10进制的32,8进制的32,16进制的32,12进制的32,个位上的2表示的数是相同的。

这要看你用什么码制来表示了,如果纯粹是十六进制数的话,与十六进制数FFFFFFFE等值的十进制数是4294967294;但如果是32位二进制补码的话,则FFFFFFFE表示十进制数-2。
-10d=-Ah,其32位二进制补码的十六进制形式为FFFFFFF6。

计算方法:

0-9对应0-9;

A-F对应10-15;

十六进制数的加减法的进/借位规则为:借一当十六,逢十六进一。

十六进制数同二进制数及十进制数一样,也可以写成展开式的形式。

十进制整数转十六进制数:“除以16取余,逆序排列”(除16取余法)

例:(1765)10=(6E5)2

1765/16=1105

110/16=614

616=06

因为14对应E

十六进制数转换成二进制数:把每一个十六进制数转换成4位的二进制数,就得到一个二进制数。

十六进制数字与二进制数字的对应关系如下:

0000 -> 0 0100 -> 4 1000 -> 8 1100 -> C

0001 -> 1 0101 -> 5 1001 -> 9 1101 -> D

0010 -> 2 0110 -> 6 1010 -> A 1110 -> E

0011 -> 3 0111 -> 7 1011 -> B 1111 -> F

例:将十六进制数5DF9 转换成二进制:

5 D F . 9 0101 1101 1111 .1001

即:(5DF9)16 =(101110111111001)2

例:将二进制数1100001111 转换成十六进制:

0110 0001 . 1110 6 1 . E

即:(1100001111)2 =(61E)16

扩展资料:


这里我们用几个汉字代表十六进制的几个英文字母“ABCDEF”---“A--拾(shí),B--屲(wā),C--亗(suì),D--岌jí,E---岄(yuè),F--岪(fú),峘huán”。

“A”实为十进制的“10”所以仍用十进制的汉字“拾”代表,“B”为十进制的“11”用山字旁加一画的汉字--屲(wā)代表,“C”为十进制的“12”用山字旁加二画的汉字--亗(suì)来表示,“D”为十进制的“13”用山字旁加三画的汉字--岌jí,“E”为十进制的“14”用山字旁加四画的汉字---岄(yuè),“F”为十进制的“15”用山字旁加五画的汉字--岪(fú),“峘”即为十六进制的“10”。

所以完整的十六进制汉字大写数字即----“零壹贰叁肆伍陆柒捌玖拾屲亗岌岄岪峘”,多读几遍你就会觉得朗朗上口。而一些汉字数值单位----佰、仟、万、亿等等在其它进制中仍可使用。定好了进制各自的单位,读其它进制数字时再把读十进制读“拾”的地方替换成各自的单位,那么下面我们来读一下十六进制和八进制的数字吧!

整数在内存里面存储的方式是按二进制存放的,比如:
2,是10;
10,是1010;
你对长整型数字进行移位,左移一位,比如10,移位后就是10100,相当于×2;同理,右移一位,就是101,相当于÷2
这道题移位法处理就是判断数字是否等于0,如果不等于,%16保存余数,再右移4位,直到数字为0为止,得到一个倒序的字符串,然后颠倒过来就行。得到倒序字符串的代码示例。
unsigned int a = 0x457AC8F2;
printf("%x\n",a);
while(a !=0 )
{
printf("%x ",a % 16);
a = a >> 4;
}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/13188289.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-30
下一篇2025-08-30

发表评论

登录后才能评论

评论列表(0条)

    保存