找回密码
 注册
关于网站域名变更的通知

关于宏定义使用的问题

查看数: 427 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-1-8 14:07

正文摘要:

请问这样使用宏定义高32位数据会丢失是什么原因?直接给64位数据没问题 ) J) C& Q) n0 I: X% { ) ~% J" X4 t, U7 r# J " c" |; O# V! x3 s0 e" m/ h7 N( N ' j/ |: G' ?8 I$ Y1 E3 ]

回复

qq666888qqw 发表于 2021-1-8 15:20
常数字面值如果不加修饰,就是 int 类型,如果 sizeof int == 4,那么 << 32 后,就为 0 了。
1 E2 X" F2 [- p/ b7 d# ~所以,如果要指定类型的字面值,一定要加修饰,比如:0x71070000LL,或者加类型强制:(uint64_t) 0x7107000。
关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 00:15 , Processed in 0.171875 second(s), 29 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表