В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
степан169
степан169
04.07.2021 02:25 •  Информатика

Напишите программу сложения, вычитания и умножения двух двоичных чисел. предложите проверки результата: 1011 и 110

Ответ:
Lososepotam
Lososepotam
06.10.2020 07:01
Const
  Rn : String[36] = '0123456789';

Function DecToN(a : Longint; Raz : Byte) : String;
Begin
  If a>Raz-1 then DecToN:=DecToN(a div Raz,Raz)+Rn[(a mod Raz)+1]
  else DecToN:=Rn[a+1];
end;

Function NToDec(a : String; Raz : Byte) : Longint;
Begin
  If Length(a)>0 then NToDec:=Pos(a[Length(a)],Rn)-1+Raz*NToDec(Copy(a,1,Length(a)-1),Raz)
  else NToDec:=0;
end;

Var a,b : String;
Begin
  a:='1011'; b:='110';
  Writeln('a = ',a,' (bin) = ',NToDec(a,2),' (dec)');
  Writeln('b = ',b,' (bin) = ',NToDec(b,2),' (dec)');
  Writeln(a+'+'+b+' = ',DecToN(NToDec(a,2)+NToDec(b,2),2),' (bin)  ',NToDec(a,2)+NToDec(b,2),' (dec)');
  Writeln(a+'-'+b+' = ',DecToN(NToDec(a,2)-NToDec(b,2),2),' (bin)  ',NToDec(a,2)-NToDec(b,2),' (dec)');
  Writeln(a+'*'+b+' = ',DecToN(NToDec(a,2)*NToDec(b,2),2),' (bin)  ',NToDec(a,2)*NToDec(b,2),' (dec)');
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?