
【计】 extended digit
enlarge; expand; extend; spread
make up the number
digit; location; place; potential; throne
【计】 D
【化】 bit
【医】 P; position
【经】 bit
在计算机科学和数字电路领域,"扩充数位"(Digit Extension 或 Bit Extension)指的是将一个二进制数的位数增加的过程,通常是为了保持数值的精度、兼容不同位宽的系统或满足特定运算要求。其核心含义和实现方式如下:
符号扩展(Sign Extension)
用于有符号数(Signed Number)。当高位扩充时,复制原数的最高位(符号位)到新增位。例如,8位有符号数 1111 0010
(-14)扩展至16位后为 11111111 11110010
,符号位(1)被复制到所有新增高位,确保数值不变(仍为-14)。
零扩展(Zero Extension)
用于无符号数(Unsigned Number)。高位直接补0。例如,8位无符号数 11110010
(242)扩展至16位后为 00000000 11110010
,数值仍为242。
MOVSX
(符号扩展)和 MOVZX
(零扩展)指令。short
(16位)转换为 int
(32位)时自动触发符号扩展。详细讨论符号扩展在算术逻辑单元(ALU)中的作用(第2章)。
浮点数阶码(Exponent)扩展时需保留符号和精度(IEEE 754-2019)。
定义 MOVSX
/MOVZX
指令的扩展机制(卷2,第3.2节)。
符号扩展的数学本质为保持补码(Two's Complement)值不变:
若原 $n$ 位数 $X$ 的补码值为:
$$X{value} = -x{n-1} cdot 2^{n-1} + sum_{i=0}^{n-2} xi cdot 2^i$$
扩展至 $m$ 位($m>n$)后:
$$X'{value} = -x{n-1} cdot 2^{m-1} + sum{i=0}^{n-2} xi cdot 2^i + x{n-1} cdot sum{j=n}^{m-1} 2^j$$
零扩展则直接满足:
$$X'{value} = sum_{i=0}^{n-1} x_i cdot 2^i$$
原始8位有符号数: 1100 1010 (-54)
符号扩展至16位: 11111111 11001010 (仍为-54)
原始8位无符号数: 1100 1010 (202)
零扩展至16位: 00000000 11001010 (仍为202)
“扩充数位”是数学和计算机科学中的术语,需从“扩充”和“数位”两方面理解:
在定点数表示中,扩充数位需遵循特定规则:
扩充数位是通过调整位数或范围来满足计算需求,其规则因应用场景和编码方式而异。如需了解具体编码规则,可参考计算机组成原理中的定点数表示方法。
包销证券背唇表处理功能仓鼠参数变换冬青苷B服务部门成本分配计算表共济失调计构造理论管壳式浮头换热器固端梁海关检查员横向的接收命令集总的举例空心抗流线圈来回程租船契约拉伸试验拉乌尔定律泪白朊立即执行方式礼让流氓行为毛圆线虫科染色强度渗出性多关节炎试金天平试卤灵体积成本