This commit is contained in:
krahets
2023-05-26 20:37:56 +08:00
parent 2d3afc51c1
commit 863eb38a49
66 changed files with 465 additions and 396 deletions

View File

@ -551,14 +551,14 @@
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
3. &nbsp; &nbsp; 数据结构与类型
3. &nbsp; &nbsp; 数据结构简介
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
3. &nbsp; &nbsp; 数据结构与类型
3. &nbsp; &nbsp; 数据结构简介
</label>
<ul class="md-nav__list" data-md-scrollfix>
@ -1944,8 +1944,10 @@
\]</div>
<p>另一方面,<strong>数字零的原码有 <span class="arithmatex">\(+0\)</span><span class="arithmatex">\(-0\)</span> 两种表示方式</strong>。这意味着数字零对应着两个不同的二进制编码,而这可能会带来歧义问题。例如,在条件判断中,如果没有区分正零和负零,可能会导致错误的判断结果。如果我们想要处理正零和负零歧义,则需要引入额外的判断操作,其可能会降低计算机的运算效率。</p>
<div class="arithmatex">\[
+0 = 0000 \space 0000 \newline
-0 = 1000 \space 0000
\begin{aligned}
+0 &amp; = 0000 \space 0000 \newline
-0 &amp; = 1000 \space 0000
\end{aligned}
\]</div>
<p>与原码一样,反码也存在正负零歧义问题。为此,计算机进一步引入了「补码」。那么,补码有什么作用呢?我们先来分析一下负零的补码的计算过程:</p>
<div class="arithmatex">\[