【问题标题】:I need to understand some hexadecimal notation我需要了解一些十六进制表示法
【发布时间】:2014-07-27 05:37:19
【问题描述】:

我必须执行一些按位运算来为我的游戏执行碰撞检查,但是,我偶然发现了一些我不知道的十六进制表示法。

示例来自: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

这是什么十六进制表示法? '$' 是什么意思?

【问题讨论】:

    标签: hex gml


    【解决方案1】:

    ~ 是按位运算NOT 的运算符。它所做的是反转所有位。 0变成1,1变成0。

    $ 前面的值告诉编译器它是一个十六进制数。没有它,fffffff0 将被理解为一个变量名。

    所以你看15 表示15 十进制和f 十六进制,$1515 十六进制和21 十进制。

    【讨论】:

      猜你喜欢
      • 2016-05-09
      • 2014-07-10
      • 2016-07-26
      • 2016-02-06
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 2014-08-08
      • 1970-01-01
      相关资源
      最近更新 更多