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

Вниз

перевести 20.01.10 в HEX(FA,EE,F8,95)   Найти похожие ветки 

 
kokj007   (2011-01-18 23:06) [0]

Добрый день. Помогите с следующей задачей:

перевести дату в HEX, например 20.01.10 соответствует FA,EE,F8,95.

Никак не получается, но работает в Excel  (http://www.onlinedisk.ru/file/592571/) и ещё в одной простой программе такое видел.

Искал касательно преобразования dec в hex, примеры были, но в итоге получал левые результаты.

Пожалуйста, скажите как делать нужно, спасибо!


 
Eraser ©   (2011-01-19 02:39) [1]

IntToHex


 
KilkennyCat ©   (2011-01-19 02:52) [2]

Format("DateToHex = %x", [20, 1, 10]));


 
KilkennyCat ©   (2011-01-19 02:55) [3]

забыл еще парочку иксов, ну да нестрашно... :)


 
Servy ©   (2011-01-19 03:57) [4]


> Format("DateToHex = %x", [20, 1, 10]));

Вас не смущает, что в приведенном правильном ответе топик стартера первое число FA, которое существенно побольше 20ти, и чисел в ответе 4, когда дано 3? :)


> [0]


Чтобы перевести что-то во что-то, надо знать, по какой формуле это делать. У вас тут, судя по всему, не просто переписать числа в шестнадцатеричном виде, но провести над ними некоторые преобразования. Если вам нужно получить ровно то, что генерирует ваш Excel файл - дык откройте его да посмотрите формулы:

1й байт ответа, например, генерируется всегда равным значению маски, заданной в A17.
2й же, зависит уже от ячейки A3, в которой длинная формула, зависящая от маски и текущей даты.

И так далее, флаг вам в руки.

А вообще, расскажи-те ка, нафига оно вам нужно. А то похоже на возможное нарушение запрета:
Публиковать или искать серийные номера, коды а также алгоритмы взлома того или иного программного обеспечения


 
Германн ©   (2011-01-19 04:14) [5]


> ervy ©   (19.01.11 03:57) [4]
>
> Вас не смущает

Очень смущает.
Автора я уже попросил уточнить задачу на другом форуме.


 
kokj007   (2011-01-19 05:51) [6]

ребята. первое FA не считается, вычислил, оно всегда статическое, тоесть нужно 3 значения перевести


 
KilkennyCat ©   (2011-01-19 06:16) [7]

что, до сих пор нужно ?!


 
kokj007   (2011-01-19 08:13) [8]

короче, не знаю, видели вы или нет, но получается вот че, значит например 12 -декабрь преобразуется таким макаром:

1) =BIN2HEX(G16;2)
2) а G16 ячейка (я в шоке) таким =RIGHT(SUMPRODUCT(NOT(MID(C1;COLUMN(OFFSET($A$1;0;0;1;LEN(C1)));1)=(MID(C2;COLUM N(OFFSET($A$2;0;0;1;LEN(C1)));1)))*1;10^(LEN(C1)-COLUMN(OFFSET($A$1;0;0;1;LEN(C1)))))+10^LEN(C1);LEN(C1))

че за бред в п.2 я не понимаю, что вообще человек придумал или это в какой-то среде написано?


 
KilkennyCat ©   (2011-01-19 08:37) [9]

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


 
KSergey ©   (2011-01-19 12:25) [10]

Чувак, это форум по Delphi, знаешь такую?


 
Dimka Maslov ©   (2011-01-19 12:55) [11]

Дата может выражаться кол-вом дней, начиная с какого-то условного дня (например дня рождения Ильи Ильича Ворота). В этом случае шестнадцатеричное представление будет получаться простым переводом в шестнадцатеричную систему счисления, а старший байт (самый левый при little-endian) для многих близких дат будет одинаковым.

При этом бред п.2 это СМЕЩ, самая эзотерическая возможность Ёкселя, которая даётся один раз особо просветлённым.



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
15-1294737725
aka
2011-01-11 12:22
2011.04.24
Форум


15-1294771007
LDV
2011-01-11 21:36
2011.04.24
sql-запрос


15-1294807250
Xmen
2011-01-12 07:40
2011.04.24
переход в DevExpress


2-1295426993
Евгений07
2011-01-19 11:49
2011.04.24
как обеспечить доступ к данным между родительскими формами


15-1294608594
Юрий
2011-01-10 00:29
2011.04.24
С днем рождения ! 10 января 2011 понедельник