关于C#不同位数相与或,或赋值时,隐藏位数扩展该留意的问题

__int64 a;

char b;

a = b;

a |= b;

如上情况,当b的最高位为1时,即b=0x80(或更大)时,b在扩展成64过程中会将最高位向高位扩展变成0xffffffffffffff80(或更大),

此时改成a = b&0xff        a = (a | b)&0xff

可避免该情况

上一篇:SSAS处理时“找不到属性键”的解决办法 (转载)


下一篇:struts2与velocity的整合有两种方式