咱们就拿"Hello world"的首字母H举例吧,首先找到ASCII字元H的二进位 01001000,下面咱们把这个8bit的二进位数每3bit分为一个部分不够3个的在前面补0,像这样:

001 001 000

OK,现在8进位数出来了,没错就是110。

因为8=2^3,八进位的一位相当于二进位三位的数据量。这样一分,然后把每个三位的二进位数用「8421法」换算成10进位就行了,因为二进位的3位能表示的数最大也就是7了。

咱们再试试e:01100101:

001 100 101 -&> 145

看吧,屡试不爽(`Δ′)!


把一个二进位数分成三个一组,注意是重右往左分,不够的数用零补,例如/1010111?001 010 111,然后将每一组数用十进位转换,此处是二用二进位转换十进位?1 2 7,所以八进位的数为127原理我解释不清楚你自己看别人的吧


通过高位补0把二进位数位数补成3的整数倍,然后按3位一组分组,分别计算各组的十进位数,拼接即可。

如 11011 -&> 011,011 -&> 33(八进位)


三位一转

比如111-111-111变成777

010-010-010变成222

010-111-000变成270



也可以这样转,如:111-111-111(自然数为:2^8+2^7+2^6+2^5+2^4+2^3+2+1=511),111在两进位中为7,那么它在8进位中是一个三位数777转化成自然数为7x8^2+7x8+7=511


推荐阅读:
相关文章