Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

HexToBin - pozhalujsta, o4en nuzhno   Найти похожие ветки 

 
Glex ©   (2005-12-03 12:45) [0]

Prowu, podskazhite, kak s pomowju etoj funkcii ili drugim sposobom skonvertirovat" stroku s 16-ri4nym 4islom v stroku s takim zhe chislom, no v dvoi4noj sisteme s4islenija!
Sorry za translit.


 
begin...end ©   (2005-12-03 13:01) [1]

С помощью этой функции -- никак. Она не для этого предназначена.


 
glex ©   (2005-12-03 14:12) [2]

nu a bez nee?


 
Anatoly Podgoretsky ©   (2005-12-03 15:33) [3]

А без нее надо писать свою функцию IntToBin, если конечно она не появилась в этой версии Дельфи


 
begin...end ©   (2005-12-03 16:46) [4]

> glex ©   (03.12.05 14:12) [2]

Свою написать. Например, такую:

function HexToBin(const Hex: string): string;
const
 Digits: array ["0".."9"] of string =
   ("0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001");
 Letters: array ["A".."F"] of string =
   ("1010", "1011", "1100", "1101", "1110", "1111");
var
 I, L: Integer;
 C: Char;
begin
 L := Length(Hex);
 SetLength(Result, L * 4);
 for I := 1 to L do
 begin
   C := Hex[I];
   if C in ["0".."9"] then
     Move(Digits[C][1], Result[I * 4 - 3], 4)
   else if C in ["A".."F"] then
     Move(Letters[C][1], Result[I * 4 - 3], 4)
   else
     raise Exception.CreateFmt("Incorrect symbol: %s; position: %d", [C, I])
 end
end


> Anatoly Podgoretsky ©   (03.12.05 15:33) [3]

Она появилась. Но автору нужно не само целое число (Integer), а его шестнадцатеричное представление преобразовывать. Не факт, что это представление соответствует числу, умещающемуся в 4 байтах.


 
Glex ©   (2005-12-03 17:10) [5]

Спасибо всем огромное!
Сидел до 2х часов на городской олимпиаде, думал над задачей.
Встал сегодня в 6:50, не выспался.
Простите за глупый вопрос =)
Число, кстати 250 цифр длиной.

Аффигеть, я так тупо поступил, вначале число в 10-ричною преобразовывал. Потом получившееся делением в столбик в 2-ичную =)))
Используя модуль длинной арифметики...


 
Anatoly Podgoretsky ©   (2005-12-03 17:15) [6]

Glex ©   (03.12.05 17:10) [5]
Число, кстати 250 цифр длиной.

Длина не имеет значения!


 
Anatoly Podgoretsky ©   (2005-12-03 17:17) [7]

begin...end ©   (03.12.05 16:46) [4]
Не факт, а нафиг и не нужно, строка в строку легко переводится, что ты и показал. Задачка из задач для начинающих, самые основы программирования.


 
begin...end ©   (2005-12-03 17:21) [8]

> Anatoly Podgoretsky ©   (03.12.05 17:17) [7]

Речь о стандартной IntToBin. Она переводит 4-байтный Integer.


 
Anatoly Podgoretsky ©   (2005-12-03 17:50) [9]

Если такая функция есть, то можно буфер любой длины вывести с помощью ее. Конечно для HEX строк это будет не оптимально.


 
begin...end ©   (2005-12-03 17:55) [10]

> Anatoly Podgoretsky ©   (03.12.05 17:50) [9]

Имеете в виду преобразования отдельных блоков с помощью StrToInt ($) + IntToBin?



Страницы: 1 вся ветка

Текущий архив: 2005.12.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
14-1132905454
wHammer
2005-11-25 10:57
2005.12.18
Скомпилированный .exe файл


2-1133375394
Сергей А.
2005-11-30 21:29
2005.12.18
3 вопроса по взаимодействию с DBGrid


6-1122536583
Курдль
2005-07-28 11:43
2005.12.18
Client/ServerSockets. Как найти все сокеты, активные в сети?


4-1129391237
Tristania
2005-10-15 19:47
2005.12.18
Работа с винчестером напрямую


14-1133154205
Cerberus
2005-11-28 08:03
2005.12.18
Взможно ли...