欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

各进制间的转换

程序员文章站 2024-03-18 17:41:22
...

1.十进制转换为N进制

十进制整数转换为 N 进制整数采用“**除 N 取余,逆序排列”**法。具体做法是:

将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数;
保留余数,用商继续除以 N,又得到一个新的商和余数;
仍然保留余数,用商继续除以 N,还会得到一个新的商和余数;
……
如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。

把先得到的余数作为 N 进制数的低位数字,后得到的余数作为 N 进制数的高位数字,依次排列起来,就得到了 N 进制数字.

666          //十进制
101001 1010  //二进制
1232         //八进制
29A          //十六进制

2.N 进制转换十N进制

二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。

假设当前数字是N进制,那么:

对于整数部分,从右往左看,第i位的位权等于Ni-1

对于小数部分,恰好相反,要从左往右看,第j位的位权为N-j。

更加通俗的理解是,假设一个多位数(由多个数字组成的数)某位上的数字是1,那么它所表示的数值大小就是该位的位权。

3.二进制转换为八进制

合三为一,不足在前面补0

01 101 010 //二进制
0152       //八进制

4.二进制转换为十六进制

合四为一,不足在前补0

1110 0111 //二进制
0xE7      //十六进制