C机器级移位,编码表示 无符号编码表示,有符号编码表示一般最常见的方式是补码

时间:2024-01-02 13:19:44

C机器级移位,编码表示 无符号编码表示,有符号编码表示一般最常见的方式是补码  w位补码所能表示的值范围是

首先我们得心知 补码的最高有效位是符号位,当符号位位1是表示的是负值,当符号位是0是,表示的是非负

w位补码最小值是-2(w-1)次方 ~ 2(w-1)次方 - 1;

我们用B2T(w)表示补码;

B2U(w)表示无符号整型数据;

二进制  -> 十六进制    四位等于一位依次;

我们得出的无符号  数  w位二进制可表示的  值的范围为 [2(w)次方到 ~ 0];

有符号 及补码的表示  ,补码中   机器级位 的最高有效位位符号位

得出,当补码的最高有效位为1时,表示的数值为负,当补码的最高位为0时表示的是非负;

所以得出的补码能表示的取值范围为 [-2(w-1) ~ 2(w-1) - 1];

-2(w - 1)

2(w - 1) - 1

2(w)

所以我们又得出   有符号  既补码表示时 -1 的字长w = 8是 11111111 最高位 符号位 换成两个十六进制时是0xFF  字长w= 16时  换成十六进制16/4  = 4 既0xFFFF

w = 32 32/4 = 8  oxFFFFFFFF    w = 64 64 / 4 = 16  既oxFFFFFFFFFFFFFFFF