请问有“#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL”

yuanfen139 2007-11-09 09:50:16
如题
编译不过去,没见过UL可以这样用的啊,高手指教,谢谢
如果有,正确形式应该是怎样的?
...全文
1419 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
NUC-94210 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

这种定义还是不足为奇的
在嵌入式程序中经常看到

UL 就是unsigned long 的缩写
编译器一般会编译通过

如果不行的话那可能就是编译器不够“聪明”

因此换成
#define SECONDS_PER_YEAR (60UL * 60UL * 24UL * 365UL)
或者
#define SECONDS_PER_YEAR ((unsigned lo……
[/Quote]

正解,学习之。
yidefurende 2011-03-19
  • 打赏
  • 举报
回复
还真是清楚啊,呵呵
孑虫 2011-02-28
  • 打赏
  • 举报
回复
学习啦
baiwan111 2010-10-08
  • 打赏
  • 举报
回复
5楼分析正解,学习了!
siml1214 2010-09-04
  • 打赏
  • 举报
回复
jjjj
sunnybones 2010-07-02
  • 打赏
  • 举报
回复
楼上正解
binjuny 2007-11-10
  • 打赏
  • 举报
回复
这应该是个面试题吧!
用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
  #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
我在这想看到几件事情:
1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。
3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。
4) 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。


引用:http://www.blogcn.com/u/51/21/xuefulang/blog/47363291.html
binjuny 2007-11-10
  • 打赏
  • 举报
回复
这应该是个面试题吧!
用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
  #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
我在这想看到几件事情:
1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。
3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。
4) 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。


引用:http://www.blogcn.com/u/51/21/xuefulang/blog/47363291.html
CedarDiao 2007-11-10
  • 打赏
  • 举报
回复
试试看这样行不:
#define SECONDS_PER_YEAR (60UL * 60UL * 24UL * 365UL)


不能提公因式那样将UL提出去的。。。。。
Treazy 2007-11-10
  • 打赏
  • 举报
回复
这种定义还是不足为奇的
在嵌入式程序中经常看到

UL 就是unsigned long 的缩写
编译器一般会编译通过

如果不行的话那可能就是编译器不够“聪明”

因此换成
#define SECONDS_PER_YEAR (60UL * 60UL * 24UL * 365UL)
或者
#define SECONDS_PER_YEAR ((unsigned long)(60 * 60 * 24 * 365))
都是一样的!
weiym 2007-11-09
  • 打赏
  • 举报
回复
#define SECONDS_PER_YEAR ((unsigned long)(60 * 60 * 24 * 365))

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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