Мне нужно понять некоторые шестнадцатеричные обозначения

Мне нужно выполнить несколько побитовых операций для проверки столкновений в моей игре, но я наткнулся на какую-то шестнадцатеричную нотацию, которую не знаю.

Пример из: http://www.yoyogames.com/tech_blog/7

Используя описанные выше двоичные приемы, мы можем выполнить простое И с координатой Y.

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

Что это за шестнадцатеричная система счисления? Что означает «$»?


person Caio Fontes    schedule 27.07.2014    source источник


Ответы (1)


~ — это оператор побитовой операции NOT. Что он делает, так это инвертирует все биты. 0 становится 1, а 1 становится 0.

$ перед значением сообщает компилятору, что это шестнадцатеричное число. Без него fffffff0 воспринималось бы как имя переменной.

Итак, вы видите, что 15 означает 15 десятичное и f шестнадцатеричное, $1515 шестнадцатеричное и 21 десятичное.

person Havenard    schedule 27.07.2014