Шестнадцатеричные числа имеют основание 16, т. Е. Каждое di git представляет значение 0..15.
Для формирования значения ex. 16, т.е. можно использовать следующее выражение: $ 10 (( Примечание: знак $ означает, что это шестнадцатеричное значение )
16 = $ 10 = 1 * 16 1 + 0 * 16 0
Значение 28 ($ 1 C) выражается как:
28 = $ 1 C = 1 * 16 1 + 12 * 16 0
Чтобы добавить $ 10000000 к номеру, используйте
$ 10000000 = 1 * 16 7
В коде, который будет выглядеть так:
iNumber := iNumber + $10000000;
Давайте посмотрим на вопрос:
У меня шестнадцатеричное число «04831037», и мне нужно заменить первое число (0) на «1»
Это означает, что вы сначала вычтете число с $ 00000000 и затем добавьте $ 10000000.
В коде это будет:
iNumber := $04831037;
iNumber := iNumber - $00000000 + $10000000;
WriteLn(IntToHex(iNumber,8)); // Writes '14831037'