#include<stdio.h> int main() { unsigned a=~(~0<<4); printf("%o",a); return 0; }
~的优先级高于<<
先计算~0,0的二进制码:0000 0000~0:1111 1111<< 4: 1111 0000最后再取反:0000 1111值是15(十进制),也就是八进制的17(%o是八进制)
~0是-1