Loading...
注:本节内容为 CS:APP 第三版中文版的批注。 引言 阅读第二章的时候发现书中使用了多次乘法的分配律,无论是无符号数还是补码数,然而并没有证明过这样做的正确性。本文将对其做一定的讨论。 无符号数 已知 $U_{\min} \leq x, y, y_1, y_2 \leq U_{\max}$ 且 $y = y_1 +_w^u y_2$, 求证: 减法 由于补码加法和无符号数加法都构成阿贝...
注:本节内容为 CS:APP 第三版中文版 P70 的旁注。 内容 补码 $x$ 向左位移 $k$ 位,与乘以 $2^k$ 等价。 证明 我们已经得到了下面两个结论: 补码乘法与无符号数乘法的位级表示相同,硬件实现相同 (P67) 无符号数乘以 $2^k$ 与向左位移 $k$ 位等价 试论证:补码 $x$ 向左位移 $k$ ($k < w$) 位,与乘以 $2^k$ 等价 证明: ...
注:本节内容为 CS:APP 第三版中文版 P73 的旁注。 内容 偏置技术:对于 $0 \leq k < w$,在执行算数位移时,C表达式 (x+(1<<k)-1)>>k 产生数值 $\lceil x / 2^k \rceil$ 理解 我们不妨首先说明这个结论对于正数 (无论是无符号数还是补码数) 的正确性。 首先我们应该思考:在什么情况下我们会需要进行刻意的...
注:本节内容为 CS:APP 第三版中文版 P67 的旁注。 内容 书上已经为我们证明了「补码乘法与无符号数乘法的位级表示相同」这一命题,在这里我想讨论一下它的含义,以及到底意味着什么。 首先不妨写出两种乘法的定义: 得证。 讨论 现在有两个向量 $\vec x, \vec y$: $\vec x, \vec y$ 表示为 补码时相乘,与 $\vec x, \vec y$ 表示为 无符号数...
注:本节内容为 CS:APP 第三版中文版 P48 的旁注。 原文 术语补码来源于这样一个情况,对于非负数 $x$,我们用 $2^w - x$ (这里只有一个 2) 来计算 $-x$ 的 $w$ 位表示。 问题抽象 原文的问题可以抽象为如下: 已知 $\vec u, \vec v$ 满足: Q.E.D.
Chapter 2 : 信息的表示和处理 - 习题 (2) 勘误 P68 P73 2.27 int uadd_ok(unsigned x, unsigned y) { unsigned sum = x + y; return sum >= x; } 2.28 int tadd_ok(int x, int y) { int sum = x + y; i...