用lua取反的数怎么不对啊?

(int)post_CHKSUM=2427

C语言结果:post_CHKSUM=(~post_CHKSUM)+1;  post_CHKSUM=0xF685


lua语言结果:post_CHKSUM=bit.bnot(post_CHKSUM)+1  post_CHKSUM=0xE574

这是什么问题?哪里错了?
请先 登录 后评论

2 个回答

王健 - 程序猿

因为32位系统

你可以用异或实现,bit.bxor()

或者bit.band(0x0000ffff,bit.bnot(2427))+1

请先 登录 后评论
晨旭 - 菜鸟

有例子吗?                                              

请先 登录 后评论
  • 2 关注
  • 0 收藏,4315 浏览
  • qianwenli 提出于 2018-08-24 16:38

相似问题