есть задание : на форму поместить 2 едита и одну кнопку (Button),
1)в Edit1 ввести число то 2 млрд до 3 млрд
а кнопки запрограммировать так что бы введенное число в Edit1 перевилось в двоичную систему,1 байт этого числа проинвертировался (замена 0 на 1 ,а 1 на 0)
2)в Edit2 должно появиться число в десятичной системе но так, что бы у него вместо 1 проинвертированного байта был бы 3 байт этого числа а вместо 3 - 1 проинвертированный байт
Вот пример:2.220.220.220-->10000100.01010101.11011111.00111100-->10000100.01010101.11011111.11000011(инвертированн ый 1 байт) -->10000100.11000011.11011111.01010101(замена им на 3,а 3 на 1)-->2227429205
у меня получилось выполнить 1 часть этого задания т.е. проинвертировать 1 байт, а вот как заменить байты местами я так и не понeл !!
вот код который у мене получился :
Код:
procedure TForm1.Button1Click(Sender: TObject);
var n1,n2:int64;
begin
n1:=StrToInt64(Edit1.Text);
n2:=n1 xor $000000FF;
Edit2.Text:=IntToStr(n2);
end;
lmikle: Напоминаю! пользуемся тегами. За злостные нарушения последует наказание.