十进制,八进制,十六进制,二进制怎么相互转化?

2024年12月03日 00:49
有2个网友回答
网友(1):

(汗,没写完)
有通用的公式
你输入一个x进制下的数,n_x,要转到y进制编程n_y
那么:
将n_x按权展开,再相加,用十进制的方法相加
//解释一下:
//如二进制数1010按权展开就是1*2(3)+0*2(2)+1*2(1)+0*2(0)
//()里面表示的是2的n次幂。
然后就可以得到十进制下的数n。
n不停的除以y,然后按顺序记录下每次除以之后的余数。将余数逆序写出就是n_y了
但是,2进制中,转化为16进制和8进制的话,有简单一点的方法:
2进制的数b,从右往左,4位4位一组(最左面不够的话,在前面补0)
设4位一组是:A
B
C
D
对应的数是:8
4
2
1
例如
1
1
1
1那么变成16进制就是,8+4+2+1=15即16进制中的F
1
0
1
0变成16进制就是,8+2=10,即A
如果是2进制变8进制,则是3位一组,每组为(4
2
1
),方法同上

网友(2):

有通用的公式
你输入一个x进制下的数,n_x,要转到y进制编程n_y
那么:
将n_x按权展开,再相加,用十进制的方法相加
//解释一下:
//如二进制数1010按权展开就是1*2(3)+0*2(2)+1*2(1)+0*2(0)
//()里面表示的是2的n次幂。
然后就可以得到十进制下的数n。
n不停的除以y,然后按顺序记录下每次除以之后的余数。将余数逆序写出就是n_y了
但是,2进制中,转化为16进制和8进制的话,有简单一点的方法:
2进制的数b,从右往左,4位4位一组(最左面不够的话,在前面补0)
设4位是:A
B
C
D
对应的是:8
4
2
1