2,8,10,16进制之间怎么互相怎么转换?

不是~~ 我要公式什么的

要是16进制的那么长 我一个一个算的话要好长时间
我听老师说什么 除8取余发 安全展开发什么的……

10进制转其他进制 短除法取余,然后从下往上把数记录下来。
其他进制转10进制 按权展开。

按权展开 如(25)8 = 2*8^1 + 5 * 8^0 = (21)10

给你个过程,2-16任意进制互相转化。
procedure jz(n:integer;num:string;m:integer;var result:string);
Var
i,v,t:longint;
ch:char;
Begin
v:=0;
result:='';
For i:=1 to length(num) Do
Begin
Case num[i] of
'0': t:=0;
'1': t:=1;
'2': t:=2;
'3': t:=3;
'4': t:=4;
'5': t:=5;
'6': t:=6;
'7': t:=7;
'8': t:=8;
'9': t:=9;
'A': t:=10;
'B': t:=11;
'C': t:=12;
'D': t:=13;
'E': t:=14;
'F': t:=15
End;
v:=v*n+t
End;
While v<>0 Do
Begin
Case v mod m of
0: ch:='0';
1: ch:='1';
2: ch:='2';
3: ch:='3';
4: ch:='4';
5: ch:='5';
6: ch:='6';
7: ch:='7';
8: ch:='8';
9: ch:='9';
10: ch:='A';
11: ch:='B';
12: ch:='C';
13: ch:='D';
14: ch:='E';
15: ch:='F'
End;
result:=ch+result;
v:=v Div m;
End;
End;
n:原始进制 num:待转换数 m:将转换为的进制 result存放转换好的数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-02-21
算法我知道,但是没有公式。原数是十进制,换算成几进制,就除以几。
举例1728到16位:1728除以16得108余数是0,个位就是0。再用108除以16得6余数是12,十位就是12,在16进制里,十二是 C。百位就是6。答案是6C0.本回答被提问者采纳
第2个回答  2007-02-21
数数
2是逢2进一位
8是逢8进一位
依次~~~~~~~~~~~~~~~~~~
第3个回答  2007-02-21
开始菜单——附件——计算器——查看——科学型

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网