Описание тега endianness

Порядок байтов означает, как многобайтовые значения хранятся в памяти, пересылаются между устройствами или сохраняются на диске. Значения с обратным порядком байтов сохраняются с первым старшим байтом, а значения с обратным порядком байтов сохраняются с первым младшим байтом. Возможны другие байтовые порядки, но они очень редки и не могут быть описаны таким образом.
2 ответа

Порядок следования частей на ObjectId в BSON

При попытке вручную запросить объекты в MongoDB, используя ObjectID, я обнаружил проблему в драйвере mongodb. Интерпретация частей BSON ObjectId представляется неверной. Я пытаюсь это исправить, но не могу найти достойную спецификацию, чтобы сделать…
08 май '14 в 10:44
1 ответ

Есть ли обоснование производительности для смешивания порядка двоичных файлов?

Я пишу парсер для наиболее распространенного типа хранения географических данных - набора файлов, называемого "шейп-файл". Это мой первый проект, в котором мне пришлось подумать о порядке байтов. Оказывается, что хранилище геометрии является смешанн…
12 янв '12 в 20:30
0 ответов

Использование в ядре специфических типов endiannes __be32/__be16/__le32/__le16

Ядро Linux имеет типы __be32, __be16 и т.д. определены в ядре include/uapi/linux/types.h, Однако они просто typedefs для __u32, '__u16' и тому подобное. Также в случае sparse используется для анализа кода C, они добавляют gcc конкретный флаг __bitwi…
07 июн '18 в 14:21
1 ответ

Endian преобразование подписанных целых

Я получаю данные с прямым порядком байтов по UDP и преобразовываю их в байты с прямым порядком байтов. Источник говорит, что целые числа подписаны, но когда я поменяю местами байты со знаком (особенно 16-битные), я получаю нереальные значения. Когда…
05 дек '09 в 20:32
4 ответа

Как преобразовать целое число в строку байтов переменной длины?

Я хочу преобразовать целое число (int или же long) байтовая строка с прямым порядком байтов. Строка байтов должна иметь переменную длину, чтобы использовалось только минимальное количество байтов (общая длина предыдущих данных известна, поэтому можн…
23 авг '10 в 12:06
1 ответ

Порядок смешения с ARM Neon vtbx

У меня есть 16-байтовая маска перестановки uint8_t[16] и 16-байтовый массив данных uint32_t[4], Я хочу "перемешать" этот массив данных с помощью vtbl как это: 0 1 2 3 4 5 6 7 8 9 A B C D E F Data ||0x0,0x0,0x1,0x2|0x0,0x3,0x0,0x4||0x5,0x6, 0x7, 0x8|…
23 фев '17 в 14:10
2 ответа

Печать числа в двоичном формате всегда печатает в нормальной форме (БОЛЬШОЙ Endian), даже если мой компьютер Little Endian?

Прежде всего, я использую пользовательскую функцию под названием showBin() это вывело бы двоичное число из целого числа. Как вы можете видеть, эта функция проверяет каждый бит данного числа от самой правой позиции до самой левой позиции (от MSB до L…
24 апр '14 в 13:27
1 ответ

Существует ли версия std::streambuf, которая преобразует хост в сетевой порядок байтов?

Есть ли std::streambufмеханизм для преобразования многобайтовых значений в сетевой порядок байтов? В частности, Boost Asio предлагает такой примитив? Вот пример того, что я хотел бы сделать буфер потока: uint64_t x = 42ull; network_streambuf b1; std…
07 мар '12 в 16:58
6 ответов

C/C++: порядок и выравнивание силовых битовых полей

Я прочитал, что порядок битовых полей в структуре зависит от платформы. Как насчет того, если я использую различные опции упаковки для конкретного компилятора, будут ли эти гарантийные данные храниться в правильном порядке по мере их написания? Напр…
29 сен '09 в 01:07
3 ответа

Какие-либо инструменты статического анализа, которые помогают обнаруживать проблемы с процессором?

Наша команда много лет управляла кодовой базой на встроенном процессоре с прямым порядком байтов (10+). Как правило, мы не удосужились рассмотреть вопросы порядка байтов во время этой разработки и обслуживания этого встроенного кода. Вскоре мы перем…
06 авг '10 в 18:56
1 ответ

Как этот код предполагает, что используется little endian?

В статье, в которой объясняется, что порядок байтов мало и наоборот, говорится, что следующий код предполагает, что он работает на машине с прямым порядком байтов. Причина, по которой говорится это предположение: "Предполагается переключение байтов …
15 дек '10 в 20:35
3 ответа

Извлечение 7-битного целого числа со знаком из байта u8

Я использую протокол Human Interface Device для получения данных с внешнего устройства. Библиотека, которую я использую, возвращает массив байтов ([u8; 64]) который я хочу извлечь i7 (которые будут i8 в Rust) от одного байта. Байт, которым я хочу ма…
05 апр '17 в 12:15
1 ответ

BitArray сохраняет биты в обратном порядке при инициализации с массивом Int32

Лучший способ описать мое непонимание с помощью самого кода: var emptyByteArray = new byte[2]; var specificByteArray = new byte[] {150, 105}; //0x96 = 150, 0x69 = 105 var bitArray1 = new BitArray(specificByteArray); bitArray1.CopyTo(emptyByteArray, …
05 апр '15 в 03:34
3 ответа

Есть ли лучший способ проверить порядок байтов в Go

Я пишу небольшую программу для проверки порядка байтов с помощью Go: var i int = 0x0100 ptr := unsafe.Pointer(&i) if 0x01 == *(*byte)(ptr) { fmt.Println("Big Endian") } else if 0x00 == *(*byte)(ptr) { fmt.Println("Little Endian") } else { // ...…
13 июл '18 в 20:52
1 ответ

Какой порядок байтов IP-адреса указан в callify's classifyFn в WFP?

В callify's classifyFn можно использовать следующий код для получения удаленного IP-адреса: inFixedValues-> incomingValue[FWPS_FIELD_ALE_AUTH_CONNECT_V4_IP_REMOTE_ADDRESS].value.uint32; // IPv4 или же inFixedValues-> incomingValue[FWPS_FIELD_A…
13 янв '13 в 11:31
3 ответа

Макрос Endianness в C

Я недавно видел этот пост о макросах endianness в C, и я не могу обернуться вокруг первого ответа. Код, поддерживающий произвольные порядки байтов, готовый для помещения в файл с именем order32.h: #ifndef ORDER32_H #define ORDER32_H #include <lim…
09 фев '16 в 00:23
1 ответ

Принесите uint64_t в FILETIME

Я пытаюсь получить байтовый массив из файла, интерпретировать его как uint64_t а затем наложить эту уинт FILETIME После поиска и отладки я застрял в следовании неправильному рабочему коду. uint64_t win_filetime = *(uint64_t*)(&(((char*)buf)[(int…
22 янв '15 в 06:27
2 ответа

fwrite() в C & readInt() в Java отличаются порядком байтов

Родной код: написание номера 27 с использованием fwrite(). int main() { int a = 27; FILE *fp; fp = fopen("/data/tmp.log", "w"); if (!fp) return -errno; fwrite(&a, 4, 1, fp); fclose(); return 0; } Считывание данных (27) с использованием DataInput…
09 дек '16 в 06:17
1 ответ

Преобразование значений с плавающей точкой с прямым и обратным порядком байтов с использованием C#

Можно ли преобразовать числа с плавающей точкой в ​​младшую? У меня есть значение от платформы с прямым порядком байтов, которую я отправляю через UDP процессу Windows ( little-endian). Это значение является плавающим, но когда я пытаюсь использоват…
24 окт '12 в 06:52
2 ответа

Little-Endian Signed Integer

Я знаю, что формат файла WAV использует целые числа со знаком для 16-битных выборок. Он также сохраняет их в порядке с прямым порядком байтов, то есть младшие 8 битов идут первыми, затем последующими и т. Д. Является ли бит специального знака в перв…
08 окт '10 в 20:57