STM8中unsigned long和unsigned int都是32位数据,有什么区别呢

[复制链接]
 楼主| Creas_Tall 发表于 2017-2-10 22:00 | 显示全部楼层 |阅读模式
STM8中unsigned long和unsigned int都是32位数据,有什么区别呢
Liang118038 发表于 2017-2-11 01:51 | 显示全部楼层
stm8的unsigned int是16位吧,32位MCU的unsigned int才是32位,别搞懵了!
chrise23 发表于 2017-2-13 13:56 | 显示全部楼层
在32位编译器中,int和long都是占4个字节,unsigned int和unsigned long并没有区别。
tomyoct 发表于 2017-2-13 14:00 | 显示全部楼层
同意楼上的,和编译器有关系了,64位的话,long肯定是64位的
MTCN2013 发表于 2017-2-15 16:17 | 显示全部楼层
long 是32位, int 在 32位系统上是32位,但在以后的64位系统上是64的
叶覃 发表于 2017-2-15 16:20 | 显示全部楼层
long并不是数据类型,只是用来修饰int的。
int 分为 long int(4字节),short int(2字节)
haokeer 发表于 2017-2-17 08:55 | 显示全部楼层
sprintf中,用unsigned int是可以的,但是用unsigned long就报错,说明unsigned long不是一种数据类型吧
mdk55555 发表于 2017-2-17 09:03 | 显示全部楼层
unsigned long int,在C语言中指无符号长整型的,是整型(整数类型)变量的一种。
喵喵小星人 发表于 2017-2-19 21:28 | 显示全部楼层
unsigned long int与unsigned long(“无符号长”)是等价的,即定义的时候int(“整数”)可以不写。
xiaolong12 发表于 2017-2-19 21:37 | 显示全部楼层
外语实际应用
汉字名/外语全称
int
整数类型数据(外语全称:integer)
unsigned
“无符号”数据
signed
“有符号”数据
long
“长”整数型数据
unsigned long int
“无符号长整型”数据
yysforever 发表于 2017-2-22 22:10 | 显示全部楼层
   unsigned long int在C语言中是无符号长整形变量,是整形变量的一种。
冰是睡着的冰 发表于 2017-2-22 22:14 | 显示全部楼层
C语言字节数为4,int与long型数据一样。
Dennis-Zhou 发表于 2017-2-24 10:25 | 显示全部楼层
unsigned   int   0~4294967295   
int   2147483648~2147483647
unsigned long 0~4294967295
long   2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
由此可见,unsigned   int等同于unsigned long
jouney316 发表于 2017-2-24 10:47 | 显示全部楼层
编译器不同,宽度是不相同,分别如下:

16位编译器:

int: 2个字节long: 4个字节long long: 8个字节unsigned long: 4个字节
32位编译器:

int: 2个字节long: 4个字节long long: 8个字节unsigned long: 4个字节
64位编译器:

int: 4个字节long: 8个字节long long: 8个字节unsigned long: 8个字节
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

181

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

24

主题

181

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部