【自学嵌入式:计算机组成原理】6. 二进制的运算

6. 二进制的运算

一、二进制数的位权计算与转换

二进制基于位值计数法,每个位置的数值由“符号本身”和“所在位的权值”共同决定。以下通过示例系统讲解计算逻辑。

1. 位权与8421编码

二进制位的权值遵循 ( 2^n ) 规律(( n ) 为从右往左的位置索引,从0开始计数)。对于4位二进制数,常用8421编码快速对应权值:

二进制位位置(从左到右) 权值(( 2^n )) 十进制对应值
最高位(第3位) ( 2^3 = 8 ) 8
左二位(第2位) ( 2^2 = 4 ) 4
左三位(第1位) ( 2^1 = 2 ) 2
最低位(第0位) ( 2^0 = 1 ) 1

2. 示例:二进制 1011 转十进制

对于二进制数 1011,按位提取符号与对应权值,通过位权展开法计算十进制值:

[
\begin{align}
\text{十进制值} &= (1 \times 2^3) + (0 \times 2^2) + (1 \times 2^1) + (1 \times 2^0) \
&= (1 \times 8) + (0 \times 4) + (1 \times 2) + (1 \times 1) \
&= 8 + 0 + 2 + 1 \
&= 11
\end{align
}
]

3. 思考题:二进制 10110111 转十进制

image

步骤如下:

  1. 确定位权:8位二进制数的权值为 ( 2^7 ) 到 ( 2^0 )(对应十进制 128, 64, 32, 16, 8, 4, 2, 1);
  2. 提取符号:二进制数 10110111 的各位符号为 1 0 1 1 0 1 1 1
  3. 位权展开计算

[
\begin{align}
\text{十进制值} &= (1 \times 128) + (0 \times 64) + (1 \times 32) + (1 \times 16) + (0 \times 8) + (1 \times 4) + (1 \times 2) + (1 \times 1) \
&= 128 + 0 + 32 + 16 + 0 + 4 + 2 + 1 \
&= 183
\end{align
}
]

二、二进制的加法运算

二进制加法遵循“逢二进一”规则(与十进制“逢十进一”逻辑一致,仅进位条件不同)。以下通过示例详细说明运算流程。

1. 核心规则

  • 本位相加:按位计算两个二进制数的对应位之和,结果可能为 ( 0, 1, 10_2 )(对应十进制 ( 0, 1, 2 ));
  • 进位处理:若本位和为 ( 10_2 )(十进制2),则向高位进1,本位保留 ( 0 )。

2. 示例:二进制加法 ( 10110111_2 + 00010011_2 )

对应十进制验证:( 10110111_2 = 183_{10} ),( 00010011_2 = 19_{10} ),和为 ( 202_{10} )。

运算过程(从右往左逐位计算)

二进制位(权值) 第7位(128) 第6位(64) 第5位(32) 第4位(16) 第3位(8) 第2位(4) 第1位(2) 第0位(1)
加数1(10110111) 1 0 1 1 0 1 1 1
加数2(00010011) 0 0 0 1 0 0 1 1
本位和(无进位) ( 1+0=1 ) ( 0+0=0 ) ( 1+0=1 ) ( 1+1=10 ) ( 0+0=0 ) ( 1+0=1 ) ( 1+1=10 ) ( 1+1=10 )
进位处理 无进位 无进位 无进位 向第5位进1 无进位 无进位 向第2位进1 向第1位进1

进位修正后的结果

  • 第4位(16):和为 ( 10_2 ),向第5位进1,本位保留 ( 0 );
  • 第1位(2):和为 ( 10_2 ),向第2位进1,本位保留 ( 0 );
  • 第0位(1):和为 ( 10_2 ),向第1位进1,本位保留 ( 0 );
  • 第5位(32):因第4位进位,原和 ( 1 ) 变为 ( 1+1=10_2 ),向第6位进1,本位保留 ( 0 );
  • 第2位(4):因第1位进位,原和 ( 1 ) 变为 ( 1+1=10_2 ),向第3位进1,本位保留 ( 0 );
  • 第6位(64):因第5位进位,原和 ( 0 ) 变为 ( 0+1=1 );
  • 第3位(8):因第2位进位,原和 ( 0 ) 变为 ( 0+1=1 )。

最终二进制和为 ( 11001010_2 ),转换为十进制验证:

[
\begin{align}
1 \times 128 + 1 \times 64 + 0 \times 32 + 0 \times 16 + 1 \times 8 + 0 \times 4 + 1 \times 2 + 0 \times 1 &= 128 + 64 + 8 + 2 \
&= 202
\end{align
}
]

总结

  • 二进制转换十进制的核心是位权展开法,需明确每位的 ( 2^n ) 权值;
  • 二进制加法的关键是“逢二进一”规则,逐位计算并处理进位。
    二者是理解计算机底层数据运算的基础,需熟练掌握。
posted @ 2025-07-13 12:57  秦瑞迁  阅读(310)  评论(0)    收藏  举报