STM32中unsigned short和unsigned int有什么区别呢??

我在程序定义一个变量是unsigned short型的,在另外一个文件里面声明外部变量调用是声明成了unsigned int型,结果该变量的值发生了改变。
书上说unsigned short和unsigned int都是16位的,而且是都0~65535。

STM32中unsigned short和unsigned int区别为:数据类型不同、占用空间不同、表示范围不同。

一、数据类型不同

1、unsigned short:unsigned short的数据类型为无符号短整数类型

2、unsigned int:unsigned int的数据类型为无符号整数类型。

二、占用空间不同

1、unsigned short:unsigned short的内存占用空间为两个字节,16位。

2、unsigned int:unsigned int的内存占用空间为为四个字节,32位。

三、表示范围不同

1、unsigned short:unsigned short的数值表示范围为0~65535[0 , 2^15 -1] 。

2、unsigned int:unsigned int的数值表示范围为0~2 147 483 647[0 , 2^31 -1] 。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-03
区别:
unsigned short是16位的,占两个字节,范围是0~65535。unsigned int 的大小跟操作系统有关,如果是STM32的话,就是32位的,占四个字节。

你的书上说都是16位的,应该是书的版本太旧,那个时候的主流时16位,所以书上说16位。现在主流应该是32位的。
第2个回答  推荐于2017-09-20
你的书太老了。
一般情况下,unsigned short是16位,占两个字节。范围是0~65535
unsigned int 的大小跟操作系统有关,如果是STM32的话,就是32位的,占四个字节。
可能你那本书印刷的时候用的是16位操作系统本回答被提问者采纳
相似回答