Согласие на обработку персональных данных.

15.05.2020
Добавлен курс Тестировщик программного обеспечения.

12.09.2020
Новые видео и статья Процедура Include.

07.09.2020
Новый выпуск журнала Автоматизация и Программирование.

12.08.2020
Новые видео и статья Консоль ошибок для JavaScript.

09.07.2020
Новые видео и статья Операторы != и == против операторов !== и ===.



Раздел: Как стать программистом / Секреты программирования /

Представление чисел в исходных кодах

Способы представления чисел в разных системах счисления, разумеется, отличаются, потому что надо же нам как-то отличать десятичное число от двоичного.

И, поскольку мы программисты, то нам, прежде всего, надо знать, как записывать числа разных систем счисления в исходных кодах.

Зачем?

Ну новичкам это, обычно, не так уж и важно. Однако с опытом вы обязательно поймёте, что во некоторых случаях более удобно (и более понятно), когда число записано не в десятичном виде, а, например, в двоичном (к примеру если вы обрабатываете каждый бит числа).

Представления чисел в языках программирования также отличаются. Например, шестнадцатеричное число 1F в классическом Паскале записывается как $1F, а в С++ как 0x1F.

В этой статье и видео я расскажу о представлении чисел в FreePascal и Lazarus...

Числа по умолчанию - это числа в десятичной системе. То есть если вы в исходном коде запишите число, то это будет именно десятичное число. Чтобы в исходном коде представить число в другой системе счисления, нужно перед числом поставить соответствующий префикс:

  • Чтобы задать число в шестнадцатеричном формате, перед числом надо поставить знак доллара ($). Например: $FF. Это справедливо для Турбо Паскаль, FreePascal, Lazarus и Delphi. Символы шестнадцатеричного числа могут быть любого регистра. То есть $FF, $ff, $Ff и т.п. будет работать одинаково.
  • Начиная с версии 1.0.7 FreePascal поддерживает восьмеричные числа. Чтобы задать число в восьмеричном формате добавьте к нему амперсанд (&). Например, &377.
  • Для задания двоичного числа используется знак процента (%). Например, %11111111.

ПРИМЕЧАНИЕ
Двоичное и восьмеричное представление не поддерживается в режимах Турбо Паскаль и Делфи. Соответственно, и этими средствами разработки также не поддерживается.

Ну и напоследок пример простой программы, которая позволит лучше понять вышесказанное и запомнить форматы представления чисел в FreePascal и Lazarus:

program myprog;

//Представление чисел в исходных кодах
const dec = 255;       //Десятичное число
      hex = $FF;       //Шестнадцатеричное число
      oct = &377;      //Восьмеричное число
      bin = %11111111; //Двоичное число

//****************************************************************
// ОСНОВНАЯ ПРОГРАММА
//****************************************************************
begin
  WriteLn('255 = ', dec);
  WriteLn('$FF = ', hex);
  WriteLn('&377 = ', oct);
  WriteLn('%11111111 = ', bin);

  WriteLn('The end. Press ENTER...');
  ReadLn;
end.

А вот это будет выведено на экран:

Способы представления чисел


Директивы компилятора Директивы компилятора
Как это ни странно, но даже многие опытные программисты не используют директивы компилятора, считая их чем-то ненужным и бесполезным. А между тем, директивы компилятора - это очень классная штука. Если их умело применять в своих программах, то можно существенно сократить время на разработку и уменьшить количество рутинных операций. Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика