龙空技术网

理解n进制的关键在于理解其可以使用的符号及进位状态

小智雅汇 177

前言:

现时小伙伴们对“二进制怎么进位的”大概比较讲究,我们都想要知道一些“二进制怎么进位的”的相关内容。那么小编也在网摘上搜集了一些对于“二进制怎么进位的””的相关知识,希望我们能喜欢,朋友们一起来了解一下吧!

对于n进制(n>1),使用n个符号,至少两个符号,0和1,第n-1个符号表示n进制单个位的最大值,该最大值+1则有进位,用10表示,表示逢n进1。

当某位是a,该位有加数b,运算后该位的值为(a+b)%n,符号%为模运算符。

a+b>=n或(a+b)/n>=1,表示有进位。

我们从最熟悉的10进制开始,其可以使用的字符是:

0,1,2,3,4,5,6,7,8,9

10进制是逢10进1,当某个位是9时,9+1用两个位表示:10。

16进制可以使用的字符是:

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

9+1 = A

F+1 = 10

二进制可以使用的字符是:

0,1

1+1 = 10。

二进制只有两个符号,每位的加法只有两种情况,加0或加1,只有加1才有可能进位,二进制每位加法的进位状态只有两种,进位或不进位,当某位是1时,其处于进位状态,某位是0时,其是非进位状态。

如下图每位上嵌的小木条就会跟随其值的改变而改变为横向或纵向下垂直:

下图则用用一个丁字结构表示二进制的进位状态:当有一个小弹珠时,丁字结构右倾,表示进位状态,再有小弹球滚入时,小弹球滚入前一个位(进位),原有小弹球掉出,丁字结构左倾,表示非进位状态。

二进制的计算最简便,可以使用位运算,如某个位是a,该位的加数是b,则使用或运算即可以表示进位:

a&b,可以用或门实现。

使用异或运算即可以表示两数相加在该位上的值(也就是a+b不考虑进位):

a^b,可以用异或门实现。

也就是用简单的门电路组合即可以表示加法,组合成加法器,由加法器可以组合成其它计算电路。

我们来直观理解一下用16进制表示的补码:

对于32位平台,有使用补码规则的整数0xFFFFFFFA,如何直观理解其10进制的值?

在补码中,将字的最高有效位解释为负权(negative weight)。这里通过函数 B2T_w(Binary to Two's-complement的缩写)来表示:

16进制F的二进制编码是1111,首位是1,是一个负数,看上面的公式,可知0xFFFFFFFF是-1,F-A=5,所以0xFFFFFFFA是-6(-1-5)。

-End-

标签: #二进制怎么进位的