profile
Размещено 4 года назад по предмету Информатика от rilax

[PASCALABC] Создать объект BitString для работы с битовой строкой длиной 8 бит.
Определить метод инициализации бинарного числа, а также получения его
инверсии и дополнительного кода (инверсия бинарного числа с
добавлением единицы к младшему разряду).
Написать программу, демонстрирующую работу с созданным классом

  1. Ответ на вопрос
    Ответ на вопрос дан BobbyFresnel

    type

     BitSring = class

       

       private

         

         BitStr: byte;

         

         function GetStr := BitStr;

         

         function StrToByte(s: string): byte;

         begin

           Result := 0;

           s := s.Left(8);

           var p: byte := 1;

           var len := s.Length;

           for var i := len downto 1 do

           begin

             if s[i] = '1' then

               Result += p;

             p := p shl 1;

           end

         end;

         

       public

       

         property bit8: byte read GetStr;

       

         constructor(st: string);

         begin

           BitStr := StrToByte(st);

         end;

         

         constructor(n: byte);

         begin

           BitStr := n;

         end;

         

         constructor;

         begin

           BitStr := 0;

         end;

         

         function Inv8 := new BitSring(not BitStr);

         

         function Mod8 := new BitSring(not BitStr + 1);

         

         function ToString: string; override;

         begin

           Result := '';

           var n: byte := BitStr;

           while n > 0 do

           begin

             Result := (if n mod 2 <> 0 then '1' else '0') + Result;

             n := n shr 1

           end;

           var len := Result.Length;

           if len < 8 then

             Result := '0' * (8 - len) + Result

         end;

             

     end;

    begin

     var x := new BitSring(ReadString);

     Println(x);

     Println(x.Inv8);

     Println(x.Mod8);

    end.

    Пример работы:

    1011011

    01011011

    10100100

    10100101

    1. Ответ на вопрос
      Ответ на вопрос дан Артур998
      https://znanija.com/task/36607789 , помогите пожалуйста прошу Вас ... 71 б
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.