Главная страница
    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
5-1116590495
tosha
2005-05-20 16:01
2005.12.18
Куда пропадают контролы : (


3-1130853165
Goast
2005-11-01 16:52
2005.12.18
Репликация interBase


14-1133177205
Труп Васи Доброго
2005-11-28 14:26
2005.12.18
FB SQL проблема с изменением данных


8-1120681700
ronyn
2005-07-07 00:28
2005.12.18
Как запустить поиск всей музыки на компе для добавления её в Плей


2-1133348698
LG
2005-11-30 14:04
2005.12.18
Итерфейс в стиле Office





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский