|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Vovanius Uryvaeff 2:5020/175.2 25 Oct 2002 19:08:41 To : Alexander Pashchenko Subject : hex2bin,hex2dec,hex2oct, etc -------------------------------------------------------------------------------- Thu Oct 24 2002 23:07, Alexander Pashchenko wrote to All: AP> Hello everybody. AP> Самый избитый вопрос: киньте в мыло алгоритмы/реализации переводов из AP> одной системы счисления в другую. (жел. на Pas/ASM). AP> Hужны все во все: hex->bin,oct,dec; bin->hex,oct,dec; oct->hex,bin,dec; AP> dec->bin,hex,oct. AP> Hужно мне прогу сделать, чтобы вводил число, а оно выводилось во всех AP> системах счисления, или на худой конец табличку числе в разных системах AP> распечатать... AP> ЗЫ _крайне желательно еще алгоритмы перевода дробной части числа в другие AP> с.с._ строку переводим в число следующим образом: пока есть символы в строке: взять первую цифру из строки n := n*(основание системы счисления)+цифра Целую часть переводим в любую систему делением. function DigitToAsc(n integer):char begin if n<10 then DigitToAsc:='0'+n else DigitToAsc:='A'-10+n end; procedure OutNumber(n,base:integer) begin if n>=base then OutNumber(n div base,base); Write(DigitToAsc(n mod base)); end Дробная часть переводится последовательным умножением на основание системы счисления с печатью и отбрасываением целой части. например 0.7 в Hex: 0.7 * 16 = 11.2 (печатаем B(символ 11и)) 0.2 * 16 = 3.2 (---3) 0.2 * 16 = 3.2 (---3) результат: 0.B33... Send Email to vovanius2000<yxo>mail. ru --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33006e579e49.html, оценка из 5, голосов 10
|