1.2 计算机中的信息表示
二进制数及其运算
重要程度:9 分
<h2>1.2 计算机中的信息表示 - 二进制数及其运算</h2>
<h3>1. 二进制数的概念</h3>
<p>二进制数是一种基于2的计数系统,只使用0和1两个数字。每个二进制位称为“位”(bit),8个二进制位组成一个字节(byte)。</p>
<h3>2. 二进制数的权值</h3>
<p>二进制数的每一位都有一个权值,从右到左依次为2<sup>0</sup>, 2<sup>1</sup>, 2<sup>2</sup>, ... 。例如,二进制数1011可以表示为:</p>
<ul>
<li>1 * 2<sup>3</sup> = 8</li>
<li>0 * 2<sup>2</sup> = 0</li>
<li>1 * 2<sup>1</sup> = 2</li>
<li>1 * 2<sup>0</sup> = 1</li>
</ul>
<p>因此,1011的十进制值为8 + 0 + 2 + 1 = 11。</p>
<h3>3. 二进制数的加法运算</h3>
<p>二进制数的加法规则如下:</p>
<ul>
<li>0 + 0 = 0</li>
<li>0 + 1 = 1</li>
<li>1 + 0 = 1</li>
<li>1 + 1 = 10(进位1,本位0)</li>
</ul>
<p><strong>例题1:</strong> 计算1011 + 1101</p>
<pre>
1011
+ 1101
------
11000
</pre>
<p>解释:从右到左逐位相加,遇到1 + 1时进位1,最终结果为11000。</p>
<h3>4. 二进制数的减法运算</h3>
<p>二进制数的减法规则如下:</p>
<ul>
<li>0 - 0 = 0</li>
<li>1 - 0 = 1</li>
<li>1 - 1 = 0</li>
<li>0 - 1 = 1(借位1,本位1)</li>
</ul>
<p><strong>例题2:</strong> 计算1101 - 1011</p>
<pre>
1101
- 1011
------
010
</pre>
<p>解释:从右到左逐位相减,遇到0 - 1时借位1,最终结果为010。</p>
<h3>5. 二进制数的乘法运算</h3>
<p>二进制数的乘法规则如下:</p>
<ul>
<li>0 * 0 = 0</li>
<li>0 * 1 = 0</li>
<li>1 * 0 = 0</li>
<li>1 * 1 = 1</li>
</ul>
<p><strong>例题3:</strong> 计算1011 * 11</p>
<pre>
1011
x 11
------
1011
+10110
------
100001
</pre>
<p>解释:逐位相乘,然后将结果相加,最终结果为100001。</p>
<h3>6. 二进制数的除法运算</h3>
<p>二进制数的除法规则与十进制类似,逐位进行除法运算。</p>
<p><strong>例题4:</strong> 计算100001 ÷ 11</p>
<pre>
100001 | 11
- 11 | 11
---- |---
100 |
- 11 |
---- |
10 |
- 0 |
---- |
10 |
</pre>
<p>解释:100001 ÷ 11 = 11,余数为10。</p>
<h3>7. 二进制数的补码表示</h3>
<p>补码用于表示负数,规则如下:</p>
<ul>
<li>正数的补码是其本身。</li>
<li>负数的补码是其反码加1。</li>
</ul>
<p><strong>例题5:</strong> 求-5的8位二进制补码</p>
<ul>
<li>5的二进制表示为00000101。</li>
<li>5的反码为11111010(将每一位取反)。</li>
<li>5的补码为11111011(反码加1)。</li>
</ul>
<h3>8. 二进制数的移位运算</h3>
<p>移位运算包括左移和右移:</p>
<ul>
<li>左移:将二进制数向左移动若干位,低位补0。</li>
<li>右移:将二进制数向右移动若干位,高位补0或1(取决于符号位)。</li>
</ul>
<p><strong>例题6:</strong> 将1011左移2位</p>
<pre>
1011 << 2 = 101100
</pre>
<p><strong>例题7:</strong> 将1011右移2位</p>
<pre>
1011 >> 2 = 0010
</pre>