1111111111111111
每四个分隔,得到16进制
1111 1111 1111 1111 -->ffff
每三个分隔,得到8进制
1 111 111 111 111 111 -->177777
无符号(原码表示)
1111111111111111 -->65535
有符号(补码表示)
1111111111111111(补码) -取反(不包括符号位)->1000000000000000-加1-1000000000000001(原码) --> -1
------------------------------------------------------------------------------------------------------------------------------
1111111111111110
每四个分隔,得到16进制
1111 1111 1111 1110 -->fffe
每三个分隔,得到8进制
1 111 111 111 111 110 -->177776
无符号(原码表示)
1111111111111110 -->65534
有符号(补码表示)
1111111111111110(补码) -取反(不包括符号位)->1000000000000001-加1-1000000000000010(原码) --> -2
无符号转整型:原无符号数最大范围可以到65535,换成二进制也就是全1,这样在有符号的整型数里第一位就是符号位,后面的1全部取反再加1,这是补码规则,这里你可以参看一下各种码制的转换,这样,就是-1了,
%o这个不用怎么解释,只是换成了八进制输出,类型并没有变。
%x这个也一样,是换成了十六进制。
有符号换成无符号:把上面那个反过来想想就OK了。
%格式控制字符
d 十进制节
o 八进制
x 十六进制
u 无符号短整形
%d 十进制节
%o 八进制
%x 十六进制
%u 无符号短整形