|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.10.2016, 17:38 | #1 |
Регистрация: 10.04.2009
Сообщений: 4
|
преобразование числа
Привет. помогите пожалуйста разобраться с форматом чисел, подозреваю что чего-то не знаю про C#, никогда на нем не программировал.
Есть некий протокол обмена, полученый снифером. В нем выделено и найдено все, за исключением способа передачи целого числа. Я точно знаю что в программу приходит по сети, и что она показывает на экране. Как из одного получить другое - ума не приложу. Примеры: как из F4 03 (16-я система) получить 500 (в десятичной системе) как из С4 13 получить 2500 как из 9С 12 получить 2332 как из 80 13 получить 2432 и так далее. Вот еще головоломка - из F2 DA A5 02 получить 4812146 !!! Что интересно, форматы double прекрасно читаются, из чего я делаю вывод что никакого специального шифрования в проге не применяется. Затык возможно где-то в приведении типов. Пример нормального double: пришло A4 70 3D 0A D7 83 5C 40, получил 114.06 (как и надо). С помощью дизасемблера получил следующие строки: Output = new double?((double) Input.Value) где Input - входящая переменная типа long, Output - типа double КАК ЭТО из Input=80 13 делает Output=2432 ??? (ничего противозаконного, хочу баг пофиксить в проге которая уже не поддерживается) |
08.10.2016, 22:52 | #2 |
Регистрация: 10.04.2009
Сообщений: 4
|
Что интересно,
Если приходит 64 получается 100. То есть однобайтовые числа никакому преобразованию не подвергаются. |
08.10.2016, 23:07 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
упаковка VarInt, но алгоритм не один существует.
тот что применен в ProtoBuf не подходит. код что вы посмотрели не имеет отношения к целым. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.10.2016, 00:27 | #4 |
Регистрация: 10.04.2009
Сообщений: 4
|
Спасибо за наводку!!!!!!
буду искать алгоритм в инете. |
09.10.2016, 00:53 | #5 |
Регистрация: 10.04.2009
Сообщений: 4
|
Нашел решение ))
https://techoverflow.net/blog/2013/0...ntegers-in-cc/ |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразование часов в числа, а так же преобразование время | PeMeHb | Microsoft Office Excel | 5 | 19.10.2014 17:04 |
Преобразование числа | Dmitry_Web | Помощь студентам | 1 | 10.08.2012 18:44 |
преобразование числа в символ в C++ | Karina89 | Помощь студентам | 6 | 26.11.2011 00:23 |
преобразование числа | Dim_Ka | Помощь студентам | 0 | 28.05.2011 11:32 |
преобразование числа в hex | fize | Помощь студентам | 20 | 27.11.2009 19:45 |