iOS学习笔记之typedef

typedef unsigned long long weiboId;

typedef 定义一个使用方便的类型,谓之为“宏定义“。

unsigned long long 是一种无符号的长长整型。本应该是这样,unsigned long long int ,这里省略了int ,编译器会自动认可。

unsigned long long ,是64 位的数据,8 个字节,无符号,取值范围从0 到2 的64 次方-1 。

unsigned long ,是32 位的数据,4 个字节,无符号,取值范围从0 到2 的32 次方-1 。

 

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

 

你可能感兴趣的:(typedef)