文章目录

  • 整型数据类型
  • 无符号数的编码
  • 补码
  • unsigned 和signed之间的转换
    • 补码转无符号数
    • 无符号转补码
  • 无符号数和有符号数
  • 扩展位
    • 无符号的零扩展
    • 补码数的符号扩展
  • 截断数字

整型数据类型

define:有限范围的整数
特点:负数和正的范围是不对称的
取值范围:[0,2^(w-1)]
java只支持有符1号数,c,c++支持无符号和有符号

无符号数的编码

原理:无符号数的编码具有唯一性
无符号的二进制数的重要属性:每个介于0~2^w-1的每个数都有一个w位的编码
利用位级运算进行推导。

补码

原理:补码具有唯一性
将字的最高位Xw-1解释为负权,也称为符号位,权重为:-2^w-1
符号位是1,表示负数。是0,表示非负。
取值范围是**[-2(w-1),2(w-1)-1]**
为什么补码和unsigned取值范围不对称?
补码:|Tmin|=|Tmax|+1,也就是说,Tmax没有对应的负数。
1.一半的位模式表示负数,另一半表示非负数。0为非负数,所以比负表示的范围少一个。
2.最大的无符号数值刚好比补码最大值两倍大一。
Umax=2^w -1,Tmax=2^(w-1)-1,所以在补码中,所有负数在无符号中都是正数。
-1和Umax有相同的位表示,全一的串。数值0全为0。
所以现在总结一下三种公式:
原码:
反码:
补码:

unsigned 和signed之间的转换

规律:相同的字长的有符号数和无符号数之间相互转换的规则是,数值可能改变,但是位模式不变。

补码转无符号数

给定位模式的补码和无符号数之间的关系可以表示为函数T2U的一个属性
对满足x∈[Tmin,Tmax]有
T2Uw(x)={x+2wx<0xx>=0T2Uw(x)= \begin{cases} x+2^w& \text{x<0}\\ x& \text{x>=0} \end{cases}T2Uw(x)={x+2wx​x<0x>=0​

无符号转补码

对满足u属于[0,UMaxw]

U2Tw(x)={uU<=TMaxwu−2wU>TMaxwU2Tw(x)= \begin{cases} u& \text{U<=TMaxw}\\ u-2^w& \text{U>TMaxw} \end{cases}U2Tw(x)={uu−2w​U<=TMaxwU>TMaxw​

无符号数和有符号数

几乎所有机器用补码。
在c语言同时包含有符号数和无符号数时,假设两个数都是非负的。计算机出现了奇特的行为:
计算机先隐式得将有符号转换为无符号,利用上式的公式。
所以有了下列的判断:
-1<0判断为true 也就是1

**#define INT_MIN (-INT_MAX -1)**注意此种特殊的表示

扩展位

无符号的零扩展

只需要在开头添加0

补码数的符号扩展

核心在于:变量的符号位
这个有个原则就是,有符号数扩展符号位,也就是1,无符号数扩展0

截断数字

无符号数截断时,截断后数仍为无符号

有符号数截断时,自动把截断后的数转换为无符号

壹 2.2 整数表示相关推荐

  1. 从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书

    缘起 哈喽大家周四好!又是开心的一天,时间过的真快,我们的 <从壹开始 .net core 2.1 + vue 2.5 >前后端分离系列共 34 篇已经完结了,当然以后肯定还会有更新和修改 ...

  2. 时隔一个月,社区团购平台“邻邻壹”再获千万美金 Pre-A 轮融资

    10月26日消息,社区团购平台"邻邻壹"完成千万美金 Pre-A 轮融资,由源码资本和高榕资本联合领投,红杉资本中国基金跟投.今年8月底,邻邻壹刚刚完成红杉资本中国基金的数千万元种 ...

  3. vectorvn1610报价_德国Vector测试软件VN1610A-上海壹侨特价

    PILZ 751104 继电器 MULTI-CONTACT 18.8005 母针 ASKUBAL KI10-D-M10X1.25 PILUCY PE-203 定量阀 MONTECH REMOVAL M ...

  4. 找工作壹個月以来的感受

    2019独角兽企业重金招聘Python工程师标准>>> 其实开始写这篇文章时是2012年03月28日,但是直到今天我才算是把它写完发出来,距离上次发文章已经206天了.在经过前段时间 ...

  5. 中关村壹号官兰兰:连接AI企业和传统企业,打造硬科技服务联盟 | MEET2020

    鱼羊 整理自 MEET2020 量子位 报道 | 公众号 QbitAI 在AI领域,有奋勇向前的创造者,也有站在第三方视角的行业观察者.宣传队.播种机. AI创业,技术与眼光并重,却也少不了外界的服务 ...

  6. 信息存储 整数表示 原码 反码 补码 无符号数 有符号数 转换 扩展 截断

    虚拟内存,地址,虚拟地址空间 程序对象:程序数据.指令和控制信息 16进制 字数据大小 字长 寻址和字节顺序 最小的地址 小端法和大端法 字符串表示 ascii unicode 代码表示 布尔代数 c ...

  7. JAVA 总结(壹)

    Java总结(壹) 第一章  认识Java (1)Java发展史 (2)Java语言特点:简洁有效:可移植性:面对对象:解释型:适合分布式计算:拥有较好的性能:健壮,防患于未然:具有多线程处理能力:具 ...

  8. [转]阿拉伯数字转一二三和壹贰叁

    /// <summary>/// 本类实现阿拉伯数字到大写中文的转换/// 该类没有对非法数字进行判别,请事先自己判断数字是否合法/// </summary>public cl ...

  9. 初等数论--整除--整数表示:算数分解定理/素因数分解式/进制表示

    初等数论--整除--整数表示:算数分解定理/素因数分解式/进制表示 博主是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理.算法,加深记忆也方便日后查找:如果有错,欢迎指正. 我整理成 ...

最新文章

  1. SAP PP 启用了MRP Area之后MMBE有什么变化?
  2. Ubuntu读取/root/.profile时发现错误:mesg:ttyname fa
  3. java查找最小字符集_如何查找Java中的默认字符集/编码?
  4. php正则表达式正向预查,javascript正则表达式-----正向预查
  5. 特征选择算法java实现_relief算法特征选择
  6. highcharts 显示平均值数值_拼多多评价多久能显示,有什么出评价技巧吗?
  7. Serverless 在大规模数据处理中的实践
  8. 使用栈解决的一类经典问题:表达式转换及求值;中缀表达式;前缀表达式,后缀表达式,中缀转前缀;中缀转后缀;后缀表达式求值;波兰式,逆波兰式
  9. 客户端级别的渲染分析工具 dynaTrace
  10. 详解DMZ的部署与配置:ISA2006系列之二十九
  11. perl linux 独立运行,Perl脚本打包为独立执行程序
  12. 物质与意识,联系与发展
  13. java 程序题 二分法查找二维数组(Dichotomy)
  14. 研究生期间如何赚外快
  15. c语言对随机数进行快速排序,C语言自带快速排序对比插入排序
  16. 新款车型防盗器的安装方法
  17. R语言学习记录:proc.time、Sys.time函数
  18. 如何制作生成gif?快速生成制作生成的方法来了
  19. 如何在 Windows 10 上永久禁用 Microsoft Defender 防病毒软件
  20. Listary入门教程 高效的使用方法

热门文章

  1. 计算机视觉—基于BOW的图像检索
  2. linux判断搜索结果,shell编程之条件判断和find查询
  3. 【安全牛学习笔记】密码嗅探
  4. 单片机STC89C52RC定时器
  5. 2G金士顿U盘修复工具迈科微MW6208E/8208_v1.2.0.8
  6. 病毒分析系列 _ 病毒分析环境搭建
  7. 移动硬盘无法读取怎么修复?这一招好用
  8. 『谷粒儿』-有它,育儿就是这么简单
  9. 【open3d】显示kitti 点云数据和bbox
  10. 量子计算机治愈癌症,如果量子计算机实现了,癌症可以治愈吗?