一、概述
无意翻到之前看《深入理解计算机系统》一书时对 2.2.4 节的关于“无符号数和有符号数互转公式的证明” 的手写笔记。比较简单,但也整理一下。
对大多数 C 语言的实现而言,处理同样字长的有符号数和无符号数之间相互转换的一般规则是:数值可能会改变,但是位模式不变。
二、无符号数转有符号数
图1:原理(注:上图的 x 应该为 u,书上有误。)
图2:无符号数转有符号数公式
证明:
图3:证明过程
三、有符号数转无符号数
图4:原理
图5:有符号数转无符号数公式
证明:
图6:证明过程