Главная страница
    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.46 MB
Время: 0.012 c
14-1132939236
EXEcuTTeR
2005-11-25 20:20
2005.12.18
plug-in для WinAMP


14-1132951298
antonpv
2005-11-25 23:41
2005.12.18
Delphi 7 Service Pack1


6-1117730133
Дмитрий_05
2005-06-02 20:35
2005.12.18
Свой браузер-чат


2-1133434190
JTAG
2005-12-01 13:49
2005.12.18
Коллеги подскажите как создать форму


2-1133380789
zxc
2005-11-30 22:59
2005.12.18
как сделать чтобы delphi понимал 4.3 и 4,3 как число





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский