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



Вопросы
  Получить типы полей таблицы
   Категория: Базы данных
  Округление времени до 5 мин
   Категория: Базы данных
  Создать таблицу ABS (AbsoluteDB)
   Категория: Базы данных
  Компоненты TrackBar и ScrollBar
   Категория: Компоненты
  Перегенерировать все индексы Dbase
   Категория: Базы данных
  Как создать ярлык
   Категория: Приложение
  Создание кнопки на панели в IE
   Категория: Интернет и Сети
  Определение размера файла
   Категория: Файловая система
  Округление в большую сторону
   Категория: Математика
  Пароль на ADO
   Категория: Базы данных

Delphi - База Знаний: Возвести в степень

  << Вернуться к Содержанию  

Чтобы возвести 2 в нужную степень можно создать цикл:

a := 1;
for i := 1 to 20 do
  a := a * 2;


Можно воспользоваться функциями Power, IntPower или LdExp из модуля Math, но есть способ быстрее. Можно сдвигать двоичные порядки на N порядков. Это приводит к умножению или делению числа на 2 в степени N. При этом обязательно работать с целочисленным типом.

procedure TForm1.Button1Click(Sender: TObject);
var
  Res, Exponent: integer;
begin
  Exponent := 10;
  Res := 10 shl Exponent;
  Form1.Caption := IntToStr(Res) + #32;
  Res := Res shr Exponent;
  Form1.Caption := Form1.Caption + IntToStr(Res);
end;
  << Вернуться к Содержанию