十六进制如何直接转换成八进制

来源:百度知道 编辑:UC知道 时间:2024/06/28 02:19:35
希望是简便方法,通俗易懂。十六进制换成十进制再换成八进制我也会。

最快的 最便于计算的
是 先转化成2进制,再转换成8进制:
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

先每四位一组转换成2进制
例如:
3BC24
分别对应到上表 就是:
3 0011
B 1011
C 1100
4 0100

连起来就是:
0011 1011 1100 0100

再按照每三个一组分组:
0 011 101 111 000 100

对应到8进制:
(其实跟上表的前一半是一样的):
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

0 011 101 111 000 100
0__3__5__7__0__4
所以8进制就是35704

先转十进制,再转八进制,

以下代码,h是十六进制“A5F”,然后转成十进制t,然后转成八进制e,

string h = "A5F";
int t = Convert.ToInt32(h, 16);
string e = Convert.ToString(t, 8);

先转二进制00111011110000100100
将开头的零去掉
就成了111011110000100100
再用三位归一法
111 011 110 000 100 100
在转换成八进制
即736044