![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() есть задание : на форму поместить 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: Напоминаю! пользуемся тегами. За злостные нарушения последует наказание. |