Вопрос школьника по предмету Информатика
Напишите программу сложения, вычитания и умножения двух двоичных чисел. Предложите способ проверки результата: 1011 и 110
Ответ учителя по предмету Информатика
Const
Rn : String[36] = ‘0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ’;
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.
Похожие вопросы от пользователей
1. «Виктор»-радостно закричала Гермиона и уронила сумочку, которая упала с громким стуком явно не соответствующим её размерам.
2. Я спрашиваю, имеет ли Скитер в виду брата Дамблдора Аберфорта, который пятнадцать лет назад спровоцировал скандал в Уинзенгамоте за неподобающее использование магии.
3. «Насколько я понимаю, Вы не лишены интелекта, но страдаете узостью мышления»,-сказал Ксенофилиус Гермионе.
4. Вокруг них взлетали в воздух последние предметы, ещё не поражённые огнём. Спасибо заранее.♥