没区别的:
1,赋值操作
2,加,减,乘,除
有区别的,是指unsigned 会将内存的值考虑为unsigned:
1,比较 >,< 准确的说是在unsigned 和 signed比较的时候,会统一转换为unsigned 来进行比较
2,数值扩展,比如8位扩展为更多位, 在c++中,有符号数的右移是算术移位(即新的最左位根据最高位是否是1来决定是1还是0, 0x80>>1 = 0xc0),无符号为逻辑移位(最左边用0补, 0x80 >> 0x40)
没区别的:
1,赋值操作
2,加,减,乘,除
有区别的,是指unsigned 会将内存的值考虑为unsigned:
1,比较 >,< 准确的说是在unsigned 和 signed比较的时候,会统一转换为unsigned 来进行比较
2,数值扩展,比如8位扩展为更多位, 在c++中,有符号数的右移是算术移位(即新的最左位根据最高位是否是1来决定是1还是0, 0x80>>1 = 0xc0),无符号为逻辑移位(最左边用0补, 0x80 >> 0x40)