|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrew Ezhguroff 2:5020/400 08 Oct 2002 13:46:59 To : Mike Makhov Subject : Re: Как закодировать? -------------------------------------------------------------------------------- Привет! "Mike Makhov" <Mike.Makhov@f909.n5020.z2.fidonet.org> сообщил(а): AE>> А вот в СТАHДАРТHОМ (борландовские извращения меня не интересуют) AE>> Паскале битовых операций и сдвигов для целых нет. MM> Конечно нет ;-( MM> procedure PrintBin(Val: integer); MM> var MM> Tmp: Char; MM> begin MM> Tmp := Char(Val and 1) + '0'; MM> Val := (Val shr 1) and MaxInt; MM> if LongBool(Val) then PrintBin(Val); MM> Write(Tmp); MM> end; Почти точный перевод (у меня скоре if Val<>0 then PrintBin(Val);) на Borland Pascal. Hа Паскале Вирта (которому меня обучали много лет назад) будет что-то вроде: procedure PrintBin(Val: integer); var Tmp: char; begin Tmp:=chr(Val mod 2+ord('0')); Val:=Val div 2; if Val<0 then Val:=Val+MaxInt+1; if Val<>0 then PrintBin(Val); write(Tmp) end; С уважением, Андрей. -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6488fb7ad85f.html, оценка из 5, голосов 10
|