unsigned int 和 unsigned long

(1)

unsigned long int

   unsigned long int在C语言中是无符号长整形变量,是整形变量的一种。
   unsigned long int 与unsigned long是等价的,即定义的时候int可以不写。  C语言字节数为4,与long型数据一样。  
   unsigned long int的取值范围: 0~4294967295 即 0~(2的32次方-1)  
   unsigned 是无符号  long是长  int是整型数据  unsigned long int 就是无符号长整型数据

unsigned

   整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据,比如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,有符号数的话就是负数拉;如果是无符号数,则都解释为正数。同时在相同位数的情况下,所能表达的整数范围变大。另外,unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int。

int

    int数据类型,在32位系统中(现在基本上int都是32位),范围-2147483648~+2147483647。unsigned类型 的int 范围:0~4294967295 即 0~(2的32次方-1)
  
 所以我觉得unsigned int 与 unsigned long 在一般情况下是一样的!
 
(2)

今天在测试程序时发现,当用unsigned定义一个变量时,经检测,是一个四个字节的数据,所以默认时可以是unsigned int 也可以是unsigned long,值得一提的是:因为这里的是32位平台,所以是一样的。

long占四个字节;

int的尺寸和平台有关系:

①在16位的系统中,int 占据2个字节

②在32位系统中,占用4个字节

 

因为大多数系统现在都是32位Windows XP,所以在VC++6.0情况下是一致的。

转载于:https://www.cnblogs.com/tureno/articles/4739845.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值