16进制数0xFFFF转换为10进制等于多少?

问题描述:

16进制数0xFFFF转换为10进制等于多少?
16进制数不是只有0~9,F这16个数吗?为什么0xFFFF(16)会有“x”这个数,怎样把它转换为10进制数?
还是不太明白,1楼说的补码又是什么?哪些东西要用上这个补码呢?
0x即表示右边跟的数是十六进制数吗?为什么二进制数、八进制数、十进制数没有类似的表示方法呢?
十六进制数怎样直接转换为二进制数呢?

0xFFFF,是16进制的 FFFF,转化成二进制就是 1111 1111 1111 1111(2 * 8 = 16 位,2字节)
1111 1111 1111 1111 在计算机里面,就是 -1 的补码.
(补码的定义:正数最高位为0,负数为1,然后绝对值按位取反,最后加1,即为补码)
1111 1111 1111 1111,最高位为1,表示负数,剩下的先减 1 ,变为 111 1111 1111 1110,然后按位取反,变为 000 0000 0000 0001,也就是说绝对值为 1.
所以,就是 -1了.