Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.07.2006, 17:20
18A35 18A35 вне форума
Прохожий
 
Регистрация: 01.07.2006
Сообщения: 1
Репутация: 10
По умолчанию Help!!!

Проблема такова: Требуется получить двоичный код десятичного числа!
Может быть имется встроенная функция для данной операции. своя функция получается довольно громоздкой!!!
функция HexToBin преобразует строковые данные готвого двоичного числа!!
Ответить с цитированием
  #2  
Старый 01.07.2006, 18:51
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
Стрелка :(

Если впаривает - я вечером на тему отвечу.. была у мя где-то такая ф-я но я ща не дома, а за надёжность того что я могу написпть- я не отвечаю....
чуто сто см. http://www.delphiworld.narod.ru
жди ответ ..
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #3  
Старый 01.07.2006, 20:26
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Вот, нашел несколько вариантов функции, которая переводит десятичное число в двоичный код. Выбирай любой. Первый аргумент - десятичное число, второй - количество знаков, которое будет в двоичном коде после преобразования.

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<i><font color="silver">// Первый вариант функции IntToBin</font></i>
<b>function</b> IntToBin( Value: integer; Digits: integer ): <b>string;</b>
<b>var</b>
  i: integer;
<b>begin</b>
   Result := '';
   <b>for</b> i := 0 <b>to</b> Digits-1 <b>do</b>
   <b>begin</b>
      <b>if</b> Value <b>and</b> ( 1 <b>shl</b> i ) > 0
         <b>then</b> Result := <font color="RoyalBlue">'1'</font> + Result
         <b>else</b> Result := <font color="royalblue">'0'</font> + Result;
   <b>end;
end;</b>
 
<i><font color="Silver">// Второй вариант функции IntToBin</font></i>
<b>function</b> IntToBin( Value: integer; Digits: integer ): <b>string;</b>
<b>var</b>
  i: integer;
<b>begin</b>
   Result := '';
   <b>for</b> i := 0 <b>to</b> Digits-1 <b>do</b>
      Result := IntToStr( ( Value <b>and</b> ( 1 <b>shl</b> i ) <b>shr</b> i ) ) + Result;
<b>end;</b>
 
<i><font color="silver">// Третий вариант функции IntToBin</font></i>
<b>function</b> IntToBin( Value: integer; Digits: integer ): <b>string;
var</b>
  i: integer;
<b>begin</b>
   Result := '';
   <b>for</b> i := 0 <b>to</b> Digits-1 <b>do</b>
      Result := IntToStr( ( Value <b>shr</b> i ) <b>and</b> 1 ) + Result;
<b>end;</b>

Вызывать функцию можно так:

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<b>procedure</b> TForm1.Button1Click(Sender: TObject);
<b>const</b>
  n = 140; <i><font color="Silver">// Десятичное число, которое нужно преобразовать</font></i>
<b>var</b>
  i, k: integer;
<b>begin</b>
   k := 1;
   <b>for</b> i := 1 <b>to</b> n <b>do</b>
   <b>begin</b>
      k := k * 2;
      <b>if</b> k > n <b>then</b> Break;
   <b>end;</b>
   Caption := IntToBin( n, i );
<b>end;</b>

Последний раз редактировалось Decoding, 01.07.2006 в 20:31.
Ответить с цитированием
  #4  
Старый 02.07.2006, 01:03
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
Стрелка :)

Комментарии излишни...
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:16.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025