二进位怎么直接转为八进位?
咱们就拿"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