机器级大小端及移位规则

  1. 云栖社区>
  2. 博客>
  3. 正文

机器级大小端及移位规则

cloud_ruiy 2019-03-07 16:24:39 浏览357
展开阅读全文

x /16 依次取余 ,最先余作十六进制的最低 字节有效位,最后的余数 作最高的字节有效位,其中我们需要注意理解 的是 一个 数据的 最高字节及 内存的 高地址及低地址

更进一步的就算机器存储的大小端模式了

小模式就是 低地址位存储低字节有效位,高地址存储高字节有效位;

大端模式 低地址位存储高字节有效位 ,高地址存储低字节有效位;
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

网友评论

登录后评论
0/500
评论
cloud_ruiy
+ 关注