c语言中uint是“共用体”类型结构,简称共用体,也叫联合体。
在结构中各成员有各自的内存空间,一个结构体变量的总长度大于等于各成员长度之和。而在“联合”中,各成员共享一段内存空间,一个联合变量的长度等于各成员中最长的长度。
共享不是指把多个成员同时装入一个联合变量内,而是指该联合变量可被赋予任一成员值,但每次只能赋一种值,赋入新值则冲去旧值。
扩展资料
uint是占2字节,uchar占1字节,uchar声明的变量能存的字节数肯定比uint少。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据。
比如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。
参考资料来源:百度百科—联合体
一、指代不同
一、指代不同
1、uint:对应于无符号整数。
2、int:一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。
二、取值范围不同
1、uint:取值范围是 2^31 - 1,即:0~4294967295。
2、int:int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。
三、特点不同
1、uint:有无符号的根本原因就是因为数据出现了溢出现象导致的。无符号值可以避免误存负数, 且扩大了表示范围。
2、int:除了int类型之外,还有short、long、long long类型可以表示整数。
参考资料来源:百度百科-INT
参考资料来源:百度百科-UINT
单片机uchar与uint区别为:数据类型不同、占用空间不同、表示范围不同。
一、数据类型不同
1、uchar:uchar的数据类型为无符号字符类型。
2、uint:uint的数据类型为无符号整数类型。
二、占用空间不同
1、uchar:uchar的内存占用空间为1个字节,8比特。
2、uint:uint的内存占用空间为2个字节,16比特。
三、表示范围不同
1、uchar:uchar的数值表示范围为0~255[0, 2^8 -1] 。
2、uint:uint的数值表示范围为0~65535[0 , 2^31 -1] 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)