![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Системы счисления + дробные числа [D7, WinXP]
Ученик © (2005-02-25 17:51:00)Перевод целых чисел в ту или иную СС понятен. Как быть с вещественными?
Ученик (2005-02-25 19:22:00) [1]Marser © (25.02.05 18:57) [9]
Я искал подобное, но google пути не показал... В принципе мне ужо обьяснили :)
Marser (2005-02-25 18:57:00) [2]На "Королевстве Delphi" была отличная статья "Неочевидные свойства вещественных чисел", кажется.
Ученик (2005-02-25 18:56:00) [3]// Anatoly Podgoretsky © (25.02.05 17:54) [1]
// begin...end © (25.02.05 18:54) [7]
Спасибо.
begin...end (2005-02-25 18:54:00) [4]> Ученик (25.02.05 18:44) [6]
Да.
Ученик (2005-02-25 18:44:00) [5]Т.е. если бы было 31,7 [10], то в 16-й будет = 1F,B333333(3)?
begin...end (2005-02-25 18:33:00) [6]> Ученик (25.02.05 18:21) [4]
Вначале выделяете целую часть (31) и переводите обычным образом - 1F. Это и будет целая часть числа в шестнадцатеричной системе.
Затем дробную часть умножаем на основание шестнадцатеричной системы (16): 0,5 * 16 = 8. Выделяем целую часть: 8. Заметьте: дробной части уже нет. Переводим в шестнадцатеричную систему: 8. Так как дробная часть теперь равна нулю, то на этом процесс заканчиваем.
Ученик (2005-02-25 18:21:00) [7]
> [3] begin...end © (25.02.05 18:18)
А как обратно? Из десятичной?
begin...end (2005-02-25 18:18:00) [8]> Ученик (25.02.05 18:13) [2]
Да.
Ученик (2005-02-25 18:13:00) [9]1F,8 [16] = 1*16^1 + F*16^0 + 8*16^(-1) [10] = 31,5
Я все правильно понял?
Anatoly Podgoretsky (2005-02-25 17:54:00) [10]Точно также, до запятой M^N, после запятой M^-N,