Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 460

•  TDictionary Custom Sort  6 504

•  Fast Watermark Sources  6 290

•  3D Designer  9 236

•  Sik Screen Capture  6 624

•  Patch Maker  7 001

•  Айболит (remote control)  7 009

•  ListBox Drag & Drop  5 880

•  Доска для игры Реверси  97 112

•  Графические эффекты  7 209

•  Рисование по маске  6 510

•  Перетаскивание изображений  5 375

•  Canvas Drawing  5 748

•  Рисование Луны  5 457

•  Поворот изображения  4 987

•  Рисование стержней  3 541

•  Paint on Shape  2 810

•  Генератор кроссвордов  3 680

•  Головоломка Paletto  2 964

•  Теорема Монжа об окружностях  3 768

•  Пазл Numbrix  2 486

•  Заборы и коммивояжеры  3 169

•  Игра HIP  2 136

•  Игра Go (Го)  2 071

•  Симулятор лифта  2 441

•  Программа укладки плитки  2 116

•  Генератор лабиринта  2 591

•  Проверка числового ввода  2 265

•  HEX View  2 594

•  Физический маятник  2 208

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Из двоичного представления в целое и наоборот



Оформил: DeeCo

{1.}
 {**********************************************************}
 // Binary to Integer 

function BinToInt(Value: string): Integer;
 var
   i, iValueSize: Integer;
 begin
   Result := 0;
   iValueSize := Length(Value);
   for i := iValueSize downto 1 do
     if Value[i] = '1' then Result := Result + (1 shl (iValueSize - i));
 end;


 // Integer to Binary 

function IntToBin1(Value: Longint; Digits: Integer): string;
 var
   i: Integer;
 begin
   Result := '';
   for i := Digits downto 0 do
     if Value and (1 shl i) <> 0 then
       Result := Result + '1'
   else
     Result := Result + '0';
 end;


 function IntToBin2(d: Longint): string;
 var
   x, p: Integer;
   bin: string;
 begin
   bin := '';
   for x := 1 to 8 * SizeOf(d) do
   begin
     if Odd(d) then bin := '1' + bin
     else
       bin := '0' + bin;
     d := d shr 1;
   end;
   Delete(bin, 1, 8 * ((Pos('1', bin) - 1) div 8));
   Result := bin;
 end;