Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2010, 16:53   #1
ioda1986
Пользователь
 
Аватар для ioda1986
 
Регистрация: 17.02.2010
Сообщений: 11
Восклицание pascal(перевод чисел)

Необходимо написать программу на перевод чисел из десятичной в двоичную системы счисления.Как осуществлять перевод положительных чисел ясно. Однако вопрос в том как перевести в двоичный вид отрицательное число.
Преобразование осуществляетсяиз прямого путем инверсии бит и прибавления единицы.Если кто-то имел дело с подобными программами напишите пожалуйста каким образом можно решить задачу.Заранее благодарю.
ioda1986 вне форума Ответить с цитированием
Старый 23.02.2010, 17:05   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Вы же сами фактически алгоритм написали. В чем проблема?
p51x вне форума Ответить с цитированием
Старый 23.02.2010, 17:52   #3
sorokin88
 
Регистрация: 23.02.2010
Сообщений: 3
По умолчанию

Если не запрещено использование побитовых операций, можно написать так:

Код:
var
a,i: integer;
b: string;

begin
  readln(a);
  b:='';
  for i:=0 to 31 do begin
    b:=IntToStr(abs((a and (1 shl i)) shr i))+b;
  end;
  writeln(b);
end.

Последний раз редактировалось sorokin88; 23.02.2010 в 17:54.
sorokin88 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[pascal]перевод чисел alexmikt Помощь студентам 1 30.11.2009 20:36
перевод чисел counter Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 05.06.2009 22:41
Перевод чисел в строку RedWolf Помощь студентам 6 17.01.2008 00:09
Перевод чисел в различные С.С. Omedus Общие вопросы Delphi 5 05.11.2007 14:06