宏定义中:#define EXT3_SINGLEDATA_TRANS_BLOCKS 8U //8U是什么意思啊?

ouyangdongfang 2008-07-28 05:37:05
刚开始研究Linux源码,
发现宏定义中,很多后面加了U,不知道什么意思……

#define EXT3_XATTR_TRANS_BLOCKS 6U
#define EXT3_MAX_TRANS_DATA 64U
...全文
190 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhpxpower 2008-08-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ouyangdongfang 的回复:]
引用 5 楼 zhpxpower 的回复:
楼上的不要误人子弟啊,U应该是UL的缩写,unsigned long,无符号整数。64U就是64,而不是64位的无符号数


那8U就是表示值大小为8,类型为无符号数,
64U就是值大小为64,类型为无符号数,
而不是和占多少位有关系,
它们所占位,或者说所占字节应该是一样的,对吧?
[/Quote]
是的,我的意思就是你所描述的,但是楼上有几位的说法让我比较迷惑,感觉那样说没有道理。
ouyangdongfang 2008-08-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhpxpower 的回复:]
楼上的不要误人子弟啊,U应该是UL的缩写,unsigned long,无符号整数。64U就是64,而不是64位的无符号数
[/Quote]

那8U就是表示值大小为8,类型为无符号数,
64U就是值大小为64,类型为无符号数,
而不是和占多少位有关系,
它们所占位,或者说所占字节应该是一样的,对吧?
zhpxpower 2008-08-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dingguobin 的回复:]
内核的代码与我们常用的缩写有些不同,64U表示为64位的无符号数
[/Quote]
表达式的定义和是否内核代码有关系吗?我不敢确定,愿闻高见。我的理解应该只跟编译器有关。
zhpxpower 2008-08-01
  • 打赏
  • 举报
回复
缺省的整型常量是int型的,我们可以使用”L”或”l”后缀强制把整型常量表示成long型,另外也可加后缀”U”或”u”指定成无符号数,例如:128U、1024UL、1L、8Lu
zhpxpower 2008-08-01
  • 打赏
  • 举报
回复
楼上的不要误人子弟啊,U应该是UL的缩写,unsigned long,无符号整数。64U就是64,而不是64位的无符号数
威廉-丁 2008-07-31
  • 打赏
  • 举报
回复
内核的代码与我们常用的缩写有些不同,64U表示为64位的无符号数
Delphist 2008-07-31
  • 打赏
  • 举报
回复
前面表中占多少 bit
后面表示符号, 指8位无符号
ouyangdongfang 2008-07-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 joyself 的回复:]
代表 unsigned
[/Quote]

那不同的值,代表有不同的bit位吗?
joyself 2008-07-28
  • 打赏
  • 举报
回复
代表 unsigned

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧