![]() |
SPYRYTUS - учеба, работа и развлечения | ![]() |
|
Алгоритм преобразования шестнадцатиричного числа в целое число
Алгоритм преобразования шестнадцатиричного числа в целое число,
очень простой, и для его реализации достаточно вспомнить курс информатики.
Математический вид перевода, выглядит следующим образом:
FFFF = 15*163+15*162+15*161+15*160 = 65535,
или еще такой пример: 7F = 15*161+15*160 = 127 Ниже приведенны две функции, первая работает под Win32, а вторая под Win16. Для обоих платформ нужно подключить библиотеку Math.h. int HexToInt(String Hex) { int Digit = Hex.Length(); int Result = 0; for (int i=1;i<=Digit;i++) { if (Hex[i] >= '0' && Hex[i] <= '9') Result += (pow(16,Digit-i)*StrToInt(Hex[i])); if (Hex[i] >= 'A' && Hex[i] <= 'F') Result += (pow(16,Digit-i)*((int)Hex[i]-'A'+10)); } return Result; } int HexToInt(string Hex) { int Digit = Hex.size(); int Result = 0; for (int i=0;i<Digit;i++) { if (Hex[i] >= '0' && Hex.c_str()[i] <= '9') Result += (pow(16,Digit-i-1)*(Hex[i]-0x30)); if (Hex[i] >= 'A' && Hex[i] <= 'F') Result += (pow(16,Digit-i-1)*((int)Hex[i]-'A'+10)); } return Result; } Готовый вариант программы сможете найти, щелкнув в навигационной панели ссылку Готовые программы. |
|||||||||||||||
![]() ![]() |
![]() |
© Spyrytus_LTD© 2003 - 2006 гг. |
![]() ![]() |