2009-05-19 19 views

Odpowiedz

11

Nie znając Delphi, założyłbym się, że "X" powoduje, że funkcja przyjmuje wartość szesnastkową. Od 0x5 == 5 wydaje się działać. Wypróbuj X10 i sprawdź, czy wrócisz 16.

1

To jest notacja szesnastkowa. Wypróbuj XF, aby zobaczyć, że to zwraca 15.

+2

F to 15, a nie 16. – Pesto

0

Prawdopodobnie hexadecimal notacja.

Symbol X oznacza, że ​​następujący po nim jest w systemie szesnastkowym (0-9 + A-F).

11

W Delphi, wartości szesnastkowe są oznaczone $ prefix:

a := $10; // => a = 16 

Ale ponieważ w niektórych innych językach (np C) X jest używany do oznaczania wartości szesnastkowe, funkcja StrToInt obsługuje zarówno $ a X prefiksów, tak oba kody poniżej zwracają 16:

a := StrToInt('x10'); // => a = 16 

a := StrToInt('$10'); // => a = 16