注意:当超出范围时引起错误结果 例:intj=32768,j的存储形式为32768的原码与-32768 的存储完全相同 151413121110987654321 00000000 000000 例:intj=-32769,j的存储形式为1的反码加1: 151413121110 876543210 100000000000000 1514131211109876543210 111110 1514131211109876543210 011111111111111
注意:当超出范围时引起错误结果. 例: int j=32768; j的存储形式为32768的原码,与-32768 的存储完全相同,: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 例: int j=-32769; j的存储形式为1的反码加1: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
(2)运算符: (求反)&(按位与)|(按位或)^(按位加,异或 <<(左移)>>(右移 (3)操作数类型:必须为整型 (4)运算符功能 (-)求反运算符(~) 单目将操作数的每一位取反(1变0,0变1) 例:inta=15; 15141312111098765432 000000000000 表达式~a(或-15)的存储形式为:(-16) 15141312111098765432 0 1111111111110000
(2) 运算符: ~(求反) &(按位与) | (按位或) ^ (按位加,异或) <<(左移) >> (右移) (3) 操作数类型:必须为整型. (4) 运算符功能: ( 一) 求反运算符( ~ ): 单目,将操作数的每一位取反(1变0,0变1) 例: int a=15; 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 表达式 ~a (或~15)的存储形式为: ( -16) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0