Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

Перевод систем исчисления   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
7-51538
Novenkij
2003-07-30 00:36
2003.10.16
Как узнать hendle приложения


6-51371
Vinter
2003-08-20 09:10
2003.10.16
как получить в переменную текст странички


1-51323
DimChan
2003-10-06 07:03
2003.10.16
Курсор в конец строки


3-51099
domenicas
2003-09-25 15:16
2003.10.16
SQL Server 2000 ???


3-51069
vil
2003-09-25 14:50
2003.10.16
Выполнение хр процедуры с параметрами