sheka, пойми же наконец, что раздел "Теоретические вопросы" относится к теории языка Паскаль. Если твой вопрос не про операторы или конструкции Паскаля, то для этого есть раздел Алгоритмы, например. Переношу
Автор: sheka 10.06.2009 15:07
Код
function FromDec(n, radix:longint):string; var s: String; const digit: string[16]='0123456789ABCDEF'; begin s:=''; repeat s:=digit[(n mod radix)+1]+s; n:=n div radix; until n=0; FromDec:=s; end;
что такое n, radix?
Автор: Lapp 10.06.2009 15:13
Цитата(sheka @ 10.06.2009 12:07)
что такое n, radix?
n - число, которое переводишь radix - основание системы счисления (СС)
Автор: volvo 10.06.2009 15:15
N - само число, которое надо перевести из 10-ной в систему счисления с основанием Radix, т.е.,
s := FromDec(165, 16);
переведет 165 в 16-ричную СС, и вернет 'A5'
Автор: Lapp 10.06.2009 15:18
Конечно, название неудачное:
function FromDec(n, radix:longint):string;
На самом деле эта функция просто возвращает запись числа n в выбранной СС с основанием radix. Конечно, число n при этом не в десятичной системе, ессно. Это просто абстрактное число. Так что название FromDec совсем не отражает сути.
Автор: volvo 10.06.2009 15:22
Опять началось... Ну, предложи более удачное, я потом приду и скажу, что все данные, которыми оперирует компьютер, вообще хранятся в двоичном коде, поэтому такая функция вообще на фиг не сдалась, ибо переводит из двоичного кода в двоичный, а посему ничего не делает... Ничего не напоминает такая постановка?
Автор: Lapp 10.06.2009 15:45
Цитата(volvo @ 10.06.2009 12:22)
Опять началось...
Володь, давай без "опять".
Просто хочется навести чуть больший порядок в голове у начинающего. Вопрос действительно тонкий - в том смысле, что легко запутаться. Да, машинное представление - двоичное. Но вполне могло бы быть и троичным, четыричным или еще каким-то - нас это не волнует. Именно это я и хотел сказать. Есть абстрактное понятие числа, и это главное. Как оно записано - в двоичной ли, десятичной, римской записи или записи Робинзона Крузо зарубками - это неважно, само посчитанное стадо овец от этого не изменится. Приведенная функция будет одинаково хорошо работать не только на машине с троичной логикой, но и для племени Мумба-Юмба, в котором принята 32-ричная СС (по числу зубов). И они, бедные, будут долго репу чесать, пытаясь понять - а при чем тут десятичная система?
Более удачное название я приведу как нечего делать, и ты это знаешь. Но не в этом дело - я сказал, что считал нужным сказать. Я извиняюсь, что не дал себе труда посмотреть, кто писал этот код (и сейчас еще не знаю), но это дела не меняет. Я высказался на форуме, как свободный человек, that's it. Про "опять" - извини, не помню. Память подводит, видимо.