我必须做一些按位操作来为我的游戏执行碰撞检查,但是,我偶然发现了一些我不知道的十六进制表示法。
示例来自:http://www.yoyogames.com/tech_blog/7
使用上面的二进制技巧,我们可以使用Y坐标进行简单的AND
Y = Y & $fffffff0
,这将使我们摆脱低位,使得该值为16的倍数,并将其置于碰撞之外,并返回64;从那以后
%1001000 (68) & $fffffff0 = %1000000 (64).
另一个公式,来自:http://gmc.yoyogames.com/index.php?showtopic=552034
$fffffff0 = 4294967280 = ~$F = ~15
$ffffffe0 = 4294967264 = ~$1F = ~31
这是什么样的十六进制表示法? ' $'是什么?意思?
答案 0 :(得分:1)
~
是按位运算NOT
的运算符。它的作用是反转所有位。 0变为1,1变为0。
$
告诉编译器它的十六进制数。没有它,fffffff0
将被理解为变量名称。
因此,您看到15
表示15
十进制和f
十六进制,$15
表示15
十六进制且21
十进制。