@maksim-mshp

Объясните что значит Status: Byte := $00?

Здравствуйте!
Есть код на Паскале
const
  theEndTerminated = 2000000000;
 
var
  Status : Byte := $00;
  // 1 бит - последовательность возрастающая
  // 2 бит - последовательность убывающая
  // 3 бит - в последовательности есть равные числа
  
var
  count, N1, N2 : Integer;
  
begin
  count := 0;
  Read(N1);
  while N1 <> theEndTerminated do
    begin
      count += 1;
      
      Read(N2);
      if N2 <> theEndTerminated then
        begin
          if N1 < N2 then Status := Status or $01;
          if N1 > N2 then Status := Status or $02;
          if N1 = N2 then Status := Status or $04;
        end;
        
      N1 := N2;
    end;
    
  WriteLn(count);
  case Status of
    1 : WriteLn('ASCENDING'); // строго возрастающая
    2 : WriteLn('DESCENDING'); // строго убывающая
    4 : WriteLn('CONSTANT'); // постоянная
    5 : WriteLn('WEAKLY ASCENDING'); // неубывающая
    6 : WriteLn('WEAKLY DESCENDING'); // невозрастающая
  else
    WriteLn('RANDOM'); // случайная
  end;
end.


Объясните пожалуйста что делает строки
var
  Status : Byte := $00;

Status := Status or $01
Что такое Status := Byte? И как этим пользоваться?

Вообще требуется перевести код на Python, помогите пожалуйста, если можете.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
HemulGM
@HemulGM
Delphi Developer, сис. админ
$00. $ - значит, что число записано в шестнадцатиричной системе исчисления.
Byte - тип данных - байт. Число 0-255.
Or - в данном случае это логическая операция "или" с числами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы