По вопросам подключения звоните
6-67-20
7(922)515-56-51 -Мегафон
7(912)461-36-10 -МТС
7(904)833-55-28 -Теле2
7(964)180-28-08 -Билайн
с 08:00 до 21:00 пн - пт
с 10:00 до 19:00 сб - вс
|
Всё о компьютерах и программах....
Модераторы: fillo, logrus
#1 proxx » 15 янв 2007, 04:59
Нужен исходник кода на делфи или паскале перевода из десятичной в двоичную систему счисления и обратно.
-
proxx
- Хитрый лис
-
- Автор темы
- Сообщения: 564
- Зарегистрирован: 19 янв 2006, 16:17
- Последний визит: 20 янв 2015, 16:32
- Благодарил (а): 0 раз.
- Поблагодарили: 5 раз.
- Пол:
- Возраст: 25
#2 BoBr » 15 янв 2007, 09:36
Для перевода в двоичную используй IntToHex, HexToBin
а обратный перевод скорее всего нужно будет написать самому, что несложно .. не помню ф-ю переводящюю Hex в Int (если использовать BinToHex)
-
BoBr
- Главный флудер
-
- Сообщения: 377
- Зарегистрирован: 18 июл 2006, 21:44
- Последний визит: 07 мар 2013, 21:04
- Откуда: из исходников
- Благодарил (а): 6 раз.
- Поблагодарили: 28 раз.
- Пол:
- Возраст: 39
-
#3 i_p » 15 янв 2007, 17:20
Нужен исходник кода на делфи или паскале перевода из десятичной в двоичную систему счисления и обратно.
Сам писал такую прогу. Посмотрю, может есть.
-
i_p
- Одинокий волк
-
- Сообщения: 1543
- Зарегистрирован: 15 авг 2005, 16:47
- Последний визит: 02 окт 2011, 18:28
- Благодарил (а): 46 раз.
- Поблагодарили: 34 раз.
- Пол:
#4 AzazeL » 15 янв 2007, 18:51
- Код: Выделить всё
function IntToHex(Value: Integer; Digits: Integer): string; // FmtStr(Result, '%.*x', [Digits, Value]); asm CMP EDX, 32 // Digits < buffer length? JBE @A1 XOR EDX, EDX @A1: PUSH ESI MOV ESI, ESP SUB ESP, 32 PUSH ECX // result ptr MOV ECX, 16 // base 16 EDX = Digits = field width CALL CvtInt MOV EDX, ESI POP EAX // result ptr CALL System.@LStrFromPCharLen ADD ESP, 32 POP ESI end; function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer; assembler; begin asm PUSH ESI PUSH EDI PUSH EBX MOV ESI,EAX MOV EDI,EDX MOV EBX,EDX MOV EDX,0 JMP @@1 @@0: DB 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1 DB -1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1 DB -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 DB -1,10,11,12,13,14,15 @@1: LODSW CMP AL,'0' JB @@2 CMP AL,'f' JA @@2 MOV DL,AL MOV AL,@@0.Byte[EDX-'0'] CMP AL,-1 JE @@2 SHL AL,4 CMP AH,'0' JB @@2 CMP AH,'f' JA @@2 MOV DL,AH MOV AH,@@0.Byte[EDX-'0'] CMP AH,-1 JE @@2 OR AL,AH STOSB DEC ECX JNE @@1 @@2: MOV EAX,EDI SUB EAX,EBX POP EBX POP EDI POP ESI end; end;
Напиши на ассемблере пусь ахнут Шучу, сеичас напишу
-
AzazeL
- otaku no rida
-
- Сообщения: 2024
- Зарегистрирован: 26 янв 2006, 16:45
- Последний визит: 12 июл 2009, 21:53
- Благодарил (а): 2 раз.
- Поблагодарили: 24 раз.
- Пол:
- Возраст: 38
-
#6 zuzacabric » 15 янв 2007, 19:30
в дельфях как ни странно можно делать ассемблерные вставки. вот и напиши всю процедуру на асме - код же будет находиться в дельфи
-
zuzacabric
- Ветренный демиург
-
- Сообщения: 1354
- Зарегистрирован: 29 сен 2006, 17:41
- Последний визит: 31 авг 2010, 13:32
- Благодарил (а): 0 раз.
- Поблагодарили: 10 раз.
- Пол:
- Возраст: 24
Список форумов ‹ Хобби и интересы ‹ Hard & Soft
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34
|