Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.009 c
14-51452
MeF88
2003-09-26 19:22
2003.10.16
Какие CD-ROM стоят у программистов?


1-51164
Shuhkoman
2003-10-05 14:17
2003.10.16
Help! Языковая понель :)


1-51242
Max_
2003-10-03 15:23
2003.10.16
RichEdit и позиция курсора?


1-51247
Максим
2003-10-03 14:20
2003.10.16
Главное меню поверх всех окон


3-51112
DelphiNew
2003-09-25 09:47
2003.10.16
FoxPro -->Interbase





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский