__int64 a;
char b;
a = b;
a |= b;
如上情况,当b的最高位为1时,即b=0x80(或更大)时,b在扩展成64过程中会将最高位向高位扩展变成0xffffffffffffff80(或更大),
此时改成a = b&0xff a = (a | b)&0xff
可避免该情况
转载于:https://www.cnblogs.com/LinQianXun/p/5011199.html
__int64 a;
char b;
a = b;
a |= b;
如上情况,当b的最高位为1时,即b=0x80(或更大)时,b在扩展成64过程中会将最高位向高位扩展变成0xffffffffffffff80(或更大),
此时改成a = b&0xff a = (a | b)&0xff
可避免该情况
转载于:https://www.cnblogs.com/LinQianXun/p/5011199.html
版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。