您的位置:首页 > 其它

注意64位整形,int64,long long

2015-10-15 10:13 225 查看
在Xplorer中编译运行:

int64_t mask = 0xffffffffffffffffLL;

if((j+64)>width)

{

printf("%x %d ",mask,j);

}

输出的结果为:60da5e90 -1

应该使用printf("%llx %d ",mask,j);

则输出正确结果:ffffffffffffffff 768

如果使用printf("%x j:%x j2:%x j3:%x ",mask,j,j,j);测试输出:60047b00 j:ffffffff j2:ffffffff j3:300

0x300刚好是768,说明mask输出的是缓冲区的随机值,随机值之后存的是mask,j,j,j

j j2打印了mask的值,j3才输出了第一个j

另外int64_t初始化最好附上LL后缀
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: