16和8进制转2的问题。

来源:百度知道 编辑:UC知道 时间:2024/05/03 09:28:38
如题。16和8进制转2不太明白。
书上说什么8转2的就展开为2的3位。16的一位展开为4位
为啥要如此展开?
展开后比如4是011.这是通过十进制算的吗?那16进制呢?4也是011.不足就补成0011?
反过来2转8和16又是怎么算呢?
不懂。。
我明白了。。那2-8或16以及8或16到2是怎么转换进制的呢?

楼主是在问为什么二进制的4位对应16进制的1位和二进制的3位对应八进制的1位吧?
我也想好久了,我把我的想法跟你说一下吧:

所谓某某进制,指的就是到某某就进一,这个知道吧?
好了,那么对于16进制,我们可以这样约定:
当每一位达到十进制的16的时候就向前进一.
当然,这时候的一位就要用两位十进制数来表示的了,为了便于区分,我们把每一位用空格隔开
那么,通常形式的十进数BF1E就可以通过这种形式来表示出来:
11 15 01 14
我们可以将这个用新型的十六进制表示方法写出来的数加上A,也就是10
11 15 01 14
+00 00 00 10
--------------
11 15 01 ??
首先将14和10按十进制法则加起来,等于24,结果大于16,向前进一,减去16,得数就是当前位的数,的8
所以结果就是11 15 02 08

我上面写的绝对不是废话,我只是想强调一下逢某某进一这个问题,另外说明一个问题:
上面说的那种方法很不好
原因是它不能自动逢16就进一,而是需要判断,但有没有能自动就进位的呢?
看看这个式子:
2^4=16
知道这个式子说明什么吗?
它说明:【4位二进制数是逢16进一的】
解释:
2^4在二进制转十进制的公式中,它代表第4位的位权,知道这又说明什么吗?
它说明:【如果两个二进制数相加,0~3位的数的和大于16的话,就要向第4位进一】
例子:
00101110
+01000101
后四位的结果是10011,换算成十进制就是19
总的结果是01110011,后四位的结果是3
10-16=3

抱歉了,我知道我解释的很不明白,因为我也没怎么想明白.我感觉更清晰的解释应该用数学语言来解释,但很抱歉,我还没这个能力
------------------------------------------------
3位二进制数是逢8进一的,所以正好对应1位八进制数