电脑中的2进制10进制16进制的换算

如题所述

第1个回答  2013-09-22
2进制到16进制的转换很简单,把2进制的4位当作16进制的1位就可以了,例:
11001100B=1100 1100B=CCH
10进制到2进制的方法是除2法,不过最好是记住2的幂,换算就更快了,如:
100D=2^6+2^5+2^2=1100100B
10进制到16进制,先把10进制换为2进制,再把2进制换为16进制,如:
100D=1100100B= 0110 0100B(高位不够4位,补0)=64H
第2个回答  2013-09-22
10进制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
16进制 1 2 3 4 5 6 7 8 9 10 A B C D E F 11
10进制是满10进一位
16是满16进一位
依次类推
你不会转换的话可以打开系统自带的计算器,可以转换的
第3个回答  2013-09-22
void main(int argc, char *argv[])
{
char ch[10] = {'\0'};
int i, j, count = 0;
long sum = 0, f = 0;

printf("Please enter a hexString with 0x at the beginning:\n");
scanf("%s", ch);

if (ch[0] != '0' || (ch[1] != 'x' && ch[1] != 'X'))
{
printf("input error!\nplease begin with the 0x");
exit(0);
}

while (ch[count] != '\0')
{
if (ch[count] > 96 && ch[count] < 123)
{
ch[count] -= 32;
}
count++;
}

for (i = 2; i < count; i++)
{
f = 1;
for (j = 2; j < i; j++)
{
f *= 16;
}
sum += convert(ch[i]) * f;
}

printf("the result is:%ld\n", sum);

}

int convert(char ch)
{
int t = 0;
switch (ch)
{
case '1':t = 1;break;
case '2':t = 2;break;
case '3':t = 3;break;
case '4':t = 4;break;
case '5':t = 5;break;
case '6':t = 6;break;
case '7':t = 7;break;
case '8':t = 8;break;
case '9':t = 9;break;
case 'A':t = 10;break;
case 'B':t = 11;break;
case 'C':t = 12;break;
case 'D':t = 13;break;
case 'E':t = 14;break;
case 'F':t = 15;break;
default:printf("input error");exit(0);
}
return t;
}
第4个回答  2013-09-22
计算机中常用的进制
二进制、八进制、十六进制
进制 数 字 进位方法
十进制 0、1、2、3、4、5、6、7、8、9 逢十进一
二进制 0、1 逢二进一
八进制 0、1、2、3、4、5、6、7 逢八进一
十六进制 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 逢十六进一

二进制 八进制 十进制 十六进制
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F
10000 20 16 10

⒈二进制与十进制的转换。
⑴二进制转换成十进制
把十进制数17转换二进制数。
2 17 1(最低位)

2 8 0

2 4 0

2 2 0

1 1(最高位)
结果等于10001
⒉二进制转换成十进制
把二进制数11011转换成十进制。
(11011)2=1×24 1×23 0×22 1×21 1×20
=16 8 0 2 1
=27

八进制、十六进制与十进制的转换。
⑴十进制数转换成八进制数
8 247 7(最低位)

8 30 6

3 3(最高位)
结果等于367
⑵八进制数转换成十进制数
(367)8=3×82 6×81 7×80
=192 48 7
=(247)10
⑶十进制换成十六进制
16 578 2(最低位)

16 36 4

2 2(最高位)
结果等于242
⑷十六进制转换成十进制数
(242)16=2×162 4×161 2×160
=512 64 2
=578本回答被网友采纳
相似回答