Форум: "Основная";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
ВнизПеревод систем исчисления Найти похожие ветки
← →
Alexious (2003-10-02 19:40) [0]Кто знает функции перевода чисел из десятичой системы исчисления в другие не целых чисел типа 0,23(dec)->(oct), 0,2E(hex)->dec и тд
...
← →
default (2003-10-02 19:43) [1]сам пиши
проблема что-ли...
← →
alexious (2003-10-02 23:09) [2]2 default
Написал для целых.. для дробных не получается. типа да проблема. так бы не писал
← →
Amoeba (2003-10-03 12:40) [3]А где ты видел нецелые числа в недесятичной системе счисления?
← →
PVOzerski (2003-10-03 13:00) [4]Вообще-то "нецелые числа" в недесятичных системах счисления - не бессмыслица с точки зрения математики - правда, это будут не "столько-то целых, столько-то десятых", а "столько-то целых, столько-то восьмых (шестнадцатых и т.п.)"...
← →
Nikolay M. (2003-10-03 13:10) [5]Имхо, составляем обычную пропорцию. Вот так будет в HEX:
5 х
0.5 = - = -
10 16
отсюда х = 8. Поэтому DEC(0.5) = HEX(0.8) (т.е. х = половине основания системы счисления - логично?). Поправьте, если ошибаюсь...
← →
Nikolay M. (2003-10-03 13:11) [6]Дроби поплыли... :(
Но, думаю, понятно, что 5/10 = х/16.
← →
Nikolay M. (2003-10-03 13:25) [7]Интересно :)
Если попытаться таким образом перевести 0.23 в НЕХ то получится бесконечная шестнадцатеричная дробь:
с точностью до шестнадцатых 0.23 = 0.3 (т.е. 3/F),
с точностью до 256-ых 0.23 = 0.3А (т.е. 3А/FF),
с точностью до 4096-ых 0.23 = 0.3АЕ (т.е. 3АЕ/FFF),
и т.д.
← →
pasha_golub (2003-10-03 14:05) [8]2Nikolay M.
Так, а для этого теоремка есть, гласящая, что если у дроби знаменатель раскладывается на простые множители такие и только такие, что они есть делители основания, то дробь конечная.
К примеру, для десятичной 87/16=87/(2*2*2*2), основа десять,значит дробь конечная.
← →
[lamer]Barmaglot (2003-10-03 14:33) [9]RTFM?
http://matsievsky.newmail.ru/sys-schi/rules.htm
← →
Alexious (2003-10-03 15:44) [10]Да вот я и говорю что все это есть. Вот мне и нужны функции перевода. С точностью до второго знака!
← →
Anatoly Podgoretsky (2003-10-03 16:08) [11]Amoeba (03.10.03 12:40) [3]
Лучше ты скажи где ты видел десятичные?
В испольщуемой тобой процессоре по основанию 2
.1/2+1/4...
А представление может быть любым.
← →
Nikolay M. (2003-10-03 16:52) [12]
> Alexious (03.10.03 15:44) [10]
> Да вот я и говорю что все это есть. Вот мне и нужны функции
> перевода. С точностью до второго знака!
А мой пост [5] глянуть - не судьба? Из него вытекает, что функция сложна до невозможности:
function Frac2Hex (N : Real) : string;
begin
N := Abs (Frac (N));
Result := IntToHex (Trunc (N * 256), 0);
end;
← →
Alexious (2003-10-03 17:06) [13]2 Nikolay M. ©
Спасибо.Очень помог!!! А теперь еще вопрос. Как ввести число N с формы?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c