在C++中,既然有了int,为什么还要有uint?特别是uint16,uint32等又有什么用?他们有什么区别?
---------------------------------------------------------------------------------------------------------------------
int是C/C++数据类型,uint,uint16,uint32并不是C/C++内建的类型,而只是一些typedef。可能的定义如下:
typedef unsinged int uint;//为了省事啊,这样不用写unsigned int而只需要写uint
typedef unsigned short uint16;//int的size取决于平台,比如16位平台上sizeof(16)为2,32为上为4,64位上为8
// 而short的size则保证为2字节,在需要明确指明数据大小时可以使用
typedef unsigned long uint32;//道理同上,sizeof(long)一定为32,看看,在64位机上sizeof(long) <sizeof(int)”
---------------------------------------------------------------------------------------------------------------------
大小的区别:
int就是一个机器字长;
uint就是一个无符号的int;
uint16就是一个无符号的16位整型;
uint32就是一个无符号的32位整型;