0x1111111111111111(16位)对于无符号和有符号来说,转换为十进制是不同的。有符号:最高位是用来表示正负的,所以有符号只有15位表示数字。a和b在内存中的值是相同的。然而一个作为有符号,一个作为无符号,转换为10进制数的时候当然就会不同。
unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int。所以你应该懂了