15 / 14 / 9
Регистрация: 16.04.2012
Сообщений: 1,073
|
|
1 | |
Шестнадцатиричные числа25.07.2022, 16:12. Показов 793. Ответов 5
Извините, но вопрос не по программированию Просто более подходящего раздела где его можно разместить я не нашёл, а программисты уж наверняка знакомы с шестнадцатиричными вычислениями
В общем, читал мануал, забуксовал на моменте Если я правильно понял то что было написано в начале мануала
0
|
25.07.2022, 16:12 | |
Ответы с готовыми решениями:
5
Переводчик из десятичных в шестнадцатиричные числа Перевод из C++ в Delphi - шестнадцатиричные числа Программа складывающая десятиричные и шестнадцатиричные числа Нужна прога, переводящая двоичные записи числел в шестнадцатиричные. Числа заданы в файле в столбик. Пожалуйста, зависет зачёт от этого! |
673 / 547 / 74
Регистрация: 20.09.2014
Сообщений: 3,560
|
|
26.07.2022, 08:51 | 2 |
Сообщение было отмечено ChildOfFlowers как решение
Решение
Так вот же начальный адрес и длина энд-хедера:
Байты 0x0E59 только идут задом наперед. После энд-хедера идут еще какие-то 16 байт (0x20) - metadata или ссылка на metadata, скорее всего, судя по мануалу.
1
|
15 / 14 / 9
Регистрация: 16.04.2012
Сообщений: 1,073
|
|
26.07.2022, 12:50 [ТС] | 3 |
0
|
673 / 547 / 74
Регистрация: 20.09.2014
Сообщений: 3,560
|
|
26.07.2022, 13:13 | 4 |
Аа, ну значит, 32 байта - это старт-хедер, 35 байт - энд-хедер.
0
|
15 / 14 / 9
Регистрация: 16.04.2012
Сообщений: 1,073
|
|
28.07.2022, 13:52 [ТС] | 5 |
А это нормально для таких записей? Допустим, если я буду пытаться в другой шестнадцатиричной записи что-нибудь найти, мне всегда надо с заду-наперёд читать?
0
|
673 / 547 / 74
Регистрация: 20.09.2014
Сообщений: 3,560
|
|
28.07.2022, 14:14 | 6 |
Это нормально. Это называется борьбой остроконечников и тупоконечников в IT (big endian / little endian), загугли. Одни производители микропроцессоров решили, что старший байт в слове должен идти первым, а другие сказали, что более красиво, когда младший байт первый. Каждый из производителей разработал микропроцессор, который по-разному дергает слова из оперативной памяти. Это как бы похрен, но проблема возникает в кроссплатформенных вещах, когда процессор из лагеря остроконечников получил данные от процессора лагеря тупоконечников. В этом случае надо делать byte_swap перед обработкой данных, т.е. просто развернуть порядок байт. Например, последовательность 00-0A-01-3B превратить в 0A-00-3B-01 или вовсе 3B-01-0A-00 (byte-swap для двойного слова).
Для математики и для обычных людей удобнее всего тупо-конечный вариант (big endian) - сначала старший байт, затем младший. Потому что запись числа арабскими цифрами также начинается со старшего разряда. Добавлено через 6 минут https://ru.m.wikipedia.org/wik... 0%BE%D0%B2
0
|
28.07.2022, 14:14 | |
28.07.2022, 14:14 | |
Помогаю со студенческими работами здесь
6
Реализовать класс "Шестнадцатиричные числа" С++ и шестнадцатиричные вставки Шестнадцатиричные коды констант восьмеричные и шестнадцатиричные цифры Android клавиатура только шестнадцатиричные символы Заменить в строке все символьные константы вида ‘A’ на соответствующие шестнадцатиричные (т.е. ‘А’ на 0х41) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |