关于C#不同位数相与或,或赋值时,隐藏位数扩展该留意的问题时间:2023-03-08 18:55:40 __int64 a; char b; a = b; a |= b; 如上情况,当b的最高位为1时,即b=0x80(或更大)时,b在扩展成64过程中会将最高位向高位扩展变成0xffffffffffffff80(或更大), 此时改成a = b&0xff a = (a | b)&0xff 可避免该情况