11111111111111111111111111111111 是补码,
计算机里的表现形式 1000 0000 0000 0000 0000 0000 0000 0001 是源码,
-1 源码符号位不变,求反 + 1 就是补码【1111 1111 1111 1111 1111 1111 1111 1111】。
所以-1在计算机里就是11111111111111111111111111111111, 0 求反刚好是11111111111111111111111111111111
可以算一下 0x7FFFFFFF 是多少
每个十六进制数4bit,因此8位16进制是4个字节,刚好是一个int整型
F的二进制码为 1111
7的二进制码为 0111
7 F F F F F F F
这样一来,整个整数 0x7FFFFFFF 的二进制表示就是除了首位是 0,其余都是1【 0111 1111 1111 1111 1111 1111 1111 1111】
就是说,这是最大的整型数 int(因为第一位是符号位,0 表示他是正数)
用 INT_MAX 常量可以替代这个值。
~0取反:表示最小值。
~0u表示无符号整形0
~0 >> 1 :表示最大值
---------------------------------
将4.4.4 的RGB颜色转换为8.8.8 的
0xF * 16 = 0XF0
--------------------------------
- dx2 = dx << 1; // 2 * dx
- dy2 = dy << 1; // 2 * dy
--------