www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

 

posted on 2019-03-07 13:22  秦瑞It行程实录  阅读(236)  评论(0编辑  收藏  举报
www.cnblogs.com/ruiyqinrui