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