Раздел: Стандартные функции Паскаля

Функция Hi

Основы программирования 2.0 Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

Функция Hi в Паскале возвращает старшую часть числа: байт, слово, двойное слово или тетраду (полубайт) для указанного значения. Синтаксис:

 
function Hi(X : Byte) : Byte;

function Hi(X : Integer) : Byte;

function Hi(X : Word) : Byte;

function Hi(X : LongInt) : Word;

function Hi(X : DWord) : Word;

function Hi(X : Int64) : DWord;

function Hi(X : QWord) : DWord;

Функция Hi возвращает старшую тетраду, байт, слово или двойное слово числа X, в зависимости от размера X.

Разрядность числа Х Тип возвращаемого значения Возвращаемое значение
8 Byte Старшая тетрада (полубайт)
16 Byte Старший байт
32 Word Старшее слово
64 Cardinal Старшее двойное слово

Обратите внимание, что в режимах Delphi или TP эта функция всегда обрабатывает свой аргумент так, как если бы это было слово, поэтому результаты могут отличаться от FPC.

Пример:

 
program hilo;

var L : Longint;
    W : Word;
    B : Byte;

//*******************************************************************
// ОСНОВНАЯ ПРОГРАММА
//*******************************************************************
begin
  B := %00001111;
  Writeln('B = ', B);           //Выведет 15
  Writeln('Hi(B) = ', Hi(B));   //Выведет 0
  B := %00011111;
  Writeln('B = ', B);           //Выведет 31
  Writeln('Hi(B) = ', Hi(B));   //Выведет 1

  W := $00FF;
  Writeln('W = ', W);           //Выведет 255
  Writeln('Hi(W) = ', Hi(W));   //Выведет 0
  W := $0FFF;
  Writeln('W = ', W);           //Выведет 4095 ($0FFF)
  Writeln('Hi(W) = ', Hi(W));   //Выведет 15 ($0F)

  L := $0000FFFF;
  Writeln('L = ', L);           //Выведет 65535 ($0000FFFF)
  Writeln('Hi(L) = ', Hi(L));   //Выведет 0 ($0000)
  L := $00F0FFFF;
  Writeln('L = ', L);           //Выведет 15794175 ($00F0FFFF)
  Writeln('Hi(L) = ', Hi(L));   //Выведет 240 ($00F0)

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


Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

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