|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
|
Преобразование типа byte в десятичный08.03.2011, 22:34. Показов 6076. Ответов 34
Метки нет (Все метки)
Здравствуйте!
Читаю файл побайтово, записал в переменную byte a[2] соответственно 2 байта, которые находятся в 16ричной системе. В этих 2х байтах лежит размер. Так вот, мне нужно узнать этот размер в десятичной системе счисления. Подскажите пожалуйста как это сделать. Например, число 4F12h. Есть ли какая-нибудь стандартная функция. Калькулятором перевести могу, но нужно в коде на с++. Спасибо.
0
|
|
| 08.03.2011, 22:34 | |
|
Ответы с готовыми решениями:
34
Глупый человек ищет умную мысль при сравнения массива типа byte с маскй типа byte. преобразование ref byte в byte[] или в IntPtr без использования неуправляемого кода
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||||||
| 08.03.2011, 22:39 | ||||||
|
Ortistx, в двух байтах может быть только два символа
и почему там размер в 16ной системе? Добавлено через 1 минуту
0
|
||||||
|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
|
| 08.03.2011, 22:40 [ТС] | |
|
alex_x_x, я читаю файл так: fread(a, 1, 2, f);
Насколько я понял, данные записываются туда в 16ричной. Т.е. если мы представляем число в 16ричной, то в 2 байта может поместиться FFFFh, не так?
1
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 08.03.2011, 22:43 | |
|
Ortistx, да, но это будут не символы
в символы они превратятся при выводе
0
|
|
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|
| 08.03.2011, 22:44 | |
|
Ortistx, зависит от того, что записано
Если записано например число инт, то его можно считать как 4 байта.
0
|
|
|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
||
| 08.03.2011, 22:45 [ТС] | ||
Т.е. если я делаю так: byte a; fread(a, 1, 2, f); что будет в a?
0
|
||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 08.03.2011, 22:52 | |
|
Ortistx, наверно зависит от того что вы читаете?
0
|
|
|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
||||||
| 08.03.2011, 22:58 [ТС] | ||||||
|
я читаю jpeg-файл.
Насколько я знаю, все файлы состоят из нулей и единиц. Jpeg-файл тоже. Мне нужно прочитать этот файл побайтово. Для удобства jpeg-файл представляют в 16ичной системе. Собственно мне нужно обрабатывать эти 16ичные данные, а конкретно надо обработать определенные 2 байта, в которых содержится число. Я эти байты нашел. Теперь необходимо достать из них число в десятичной форме. Читаю я так:
0
|
||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|||||||||||
| 08.03.2011, 23:12 | |||||||||||
memcpy мне кажется самое удобное и правильное средство
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
|
| 08.03.2011, 23:30 [ТС] | |
|
Спасибо.
А в тексте, который я привел, что же все-таки лежит в a?
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 08.03.2011, 23:33 | |
|
там лежат два байта считанных из файла =)
0
|
|
|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
|
| 08.03.2011, 23:36 [ТС] | |
|
а в каком формате?
или суть в том, что там лежат 2 байта, а то в каком формате - зависит от того, как мы будем читать?
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 11.03.2011, 20:11 | |
|
Ortistx, уясните что такое формат
все в памяти компьютера представлено единообразно можно считать, что там хранятся числа вопрос в их интерпретации и формате вывода ну я не знаю http://www.infosgs.narod.ru/quest_11.htm когда вы выполняете чтение, вы получаете то что там лежало, а формат он пренципиален только для вывода
0
|
|
|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
|
| 11.03.2011, 20:15 [ТС] | |
|
alex_x_x, спасибо, это понял.
Так вот вопрос в том, что некоторые функции работают только с определенным форматом данных. Вот у меня и стоит задача из формата byte[2] перевести это в число, которое можно будет использовать потом для разных задач, в том числе для выделения памяти.
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 11.03.2011, 20:17 | |
|
ну это уже третье дело
какой смысл преобразования и в каком контексте?
0
|
|
|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
||||||
| 11.03.2011, 20:23 [ТС] | ||||||
|
Я читаю файл. В файле встречается 2 байта, в которых записан размер некого участка в байтах. Т.е. например может быть такое:
0002h или такое: 1000h я пытаюсь прочесть эти 2 байта из программы так:
0
|
||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|||||||||||
| 11.03.2011, 20:42 | |||||||||||
1
|
|||||||||||
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|||||||
| 11.03.2011, 20:43 | |||||||
|
Вам вот такой вариант не подойдёт ?
1
|
|||||||
|
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
|
|
| 11.03.2011, 20:56 [ТС] | |
|
GAME, не работает.
Вывожу cout<<num; выдает 0012FF18 Т.е. выдает почему-то 4 байта вообще. alex_x_x, с memcpy получилось. Хорошая функция. Она может работать с любыми типами данных?
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 11.03.2011, 20:57 | |
|
Ortistx, да более того она вообще желаем способ работы , те как мне кажется всегда правильно работает с big endian/little endian итп
0
|
|
| 11.03.2011, 20:57 | |
|
Помогаю со студенческими работами здесь
20
Преобразование двоичного кода в двоично-десятичный (PIC16F84) Преобразование BYTE C++
Преобразование String в Byte C++ Преобразование данных в byte[] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|