整型有哪几种形式?各种形式有什么区别?

整型有哪几种形式

  C++中提供的整数类型有三种:int、long、short,每种类型又分为有符号和无符号两种类型。有符号整数既可以表示非负整数,又可以表示负整数;但是,无符号整数不能表示负数,只能表示非负整数。
(一)无符号整数
   在内存中,int整数通常占4字节。在计算中,无符号整数表示的正整数范围是有符号整数的2倍。
(二)有符号整数
   在有符号整数中,数据的最高位代表符号位,1为负号,0为正号,在计算中,有符号整数是以补码的形式来存放的。以int整数为例,当数据的位数不足32位的时候,先将该数转换为补码,然后扩展该数的符号位至第31位。有符号整数都是以补码形式存放的,而且在几乎所有的编程语言中都是如此,因为计算机只会做加法,不会做减法,所以需要将减法转换为加法。
   如设有符号数x,y,那么x-y的值会被转换为x(补)+(-y)(补);例如,(3-2)可转换成(3+(-2)),运算过程为:3的十六进制补码0x00000003加上(-2)的补码0xFFFFFFFE,从而得到0x100000001。由于存储范围为4字节大小,两数相加后产生了进位,超出了存储范围,超出的1将被舍弃。进位被舍弃后,结果为0x00000001。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值