Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.015 c
14-1132670847
Piter
2005-11-22 17:47
2005.12.18
10 значимых событий за 10 лет


1-1132744928
К00е
2005-11-23 14:22
2005.12.18
Как заблокировать ctrl+alt+f1 комбинацию в litestep?


4-1129888703
ZZZ
2005-10-21 13:58
2005.12.18
Программное изменение раскладки клавиатуры.


2-1133224859
nickmas
2005-11-29 03:40
2005.12.18
Проблема с процедурой OnDrawCell


2-1133514762
ЖСВ
2005-12-02 12:12
2005.12.18
Есть ли в Delphi6 объявления типа записи таблицы?





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