~在C语言中是按位取反的意思,
~(0xf)则要看一起运算的变量或者赋值的变量类型。
如果是unsigned char(8位),unsigned char i = ~(0xf); 那么 ~(0Xf)=11110000(2进制)=0xF0=240(10进制无符号数)
如果是char(8位),char i = ~(0xf); 那么 ~(0Xf)=11110000(2进制)=0xF0=-16(10进制有符号数)
如果是unsigned short(16位),unsigned short i = ~(0xf); 那么 ~(0Xf)=1111111111110000(2进制)=0xFFF0=65520(10进制无符号数)
如果是short(16位),short i = ~(0xf); 那么 ~(0Xf)=1111111111110000(2进制)=0xFFF0=-16(10进制有符号数)
32位,64位数据以此类推...
温馨提示:内容为网友见解,仅供参考