Вопросы с тегом 'endianness'

Endianness относится к тому, как многобайтовые значения хранятся в памяти, отправляются между устройствами или сохраняются на диске. Значения "Big-Endian" хранятся с их самым значительным байтом, и значения "Маленький-Endian" сохраняются с наименее значимым байтом. Другие байтовые заказы возможны, но очень необычны и не могут быть описаны таким образом.
29 отв.

Обнаружение цели в программном обеспечении на С++

Есть ли программный способ определить, находитесь ли вы в архитектуре большого или маленького конца? Мне нужно иметь возможность писать код, который будет выполняться в системе Intel или PPC и использовать точно такой же код (т.е. Нет условной компил...
16 июня '09 в 15:56
30 отв.

Как преобразовать значения big-endian и little-endian в С++?

Как преобразовать значения big-endian и little-endian в С++? EDIT: для ясности я должен перевести двоичные данные (значения с плавающей запятой с двойной точностью и 32-разрядные и 64-разрядные целые числа) из одной архитектуры процессора в другую. ...
19 сент. '08 в 23:23
4 отв.

Зависит ли бит-сдвиг от конъюнктуры?

Предположим, что число 'numb'=1025 [00000000 00000000 00000100 00000001] представлено следующим образом: На маленькой конечной машине: 00000001 00000100 00000000 00000000 На Big-Endian Machine: 00000000 00000000 00000100 00000001 Теперь, если...
25 авг. '11 в 6:21
7 отв.

Преобразовать массив байтов в целое число на Java и наоборот

Я хочу хранить некоторые данные в массивах байтов в Java. В основном просто цифры, которые могут принимать до 2 байтов на номер. Я хотел бы знать, как я могу преобразовать целое число в массив длиной 2 байта и наоборот. Я нашел много решений googlin...
01 окт. '11 в 11:15
19 отв.

C Определение макроса для определения большой конечной или малоконечной машины?

Существует ли определение макроса в одной строке для определения конечности машины. Я использую следующий код, но преобразование его в макрос будет слишком длинным. unsigned char test_endian( void ) { int test_var = 1; unsigned char test_end...
20 янв. '10 в 12:43
13 отв.

Как работает эта программа?

#include <stdio.h> int main() { float a = 1234.5f; printf("%d\n", a); return 0; } Он отображает 0!! Как это возможно? Что такое рассуждение? Я намеренно положил %d в оператор printf для изучения поведения printf.
04 марта '10 в 11:16
14 отв.

преобразовать большой endian в little endian в C [без использования предоставленного func]

Мне нужно написать функцию преобразования большого endian в little endian в C. Я не могу использовать какую-либо библиотечную функцию.
02 февр. '10 в 8:09
6 отв.

Является ли Java целыми числами в маленьком концевом или большом конце?

Я прошу, потому что я посылаю поток байтов из процесса C в Java. На стороне C 32-битное целое число LSB является первым байтом, а MSB - четвертым байтом. Итак, мой вопрос на стороне Java, когда мы читаем байт, когда он был отправлен из процесса C, ч...
12 дек. '08 в 13:21
6 отв.

C/С++: порядок и выравнивание битового бита

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

Почему сетевой байтовый порядок определен как big-endian?

Как написано в заголовке, мой вопрос в том, почему TCP/IP использует кодировку большого конца для передачи данных, а не альтернативную схему little-endian?
22 нояб. '12 в 17:18
8 отв.

Когда Endianness становится фактором?

Конечность из того, что я понимаю, - это когда байты, составляющие многобайтовое слово, различаются по своему порядку, по крайней мере, в наиболее типичном случае. Так что 16-разрядное целое число может быть сохранено как 0xHHLL или 0xLLHH. Предпол...
24 авг. '11 в 20:45
5 отв.

Поразрядные операторы и "endianness"

Имеет ли endianness материальное значение с побитовыми операциями? Либо логический, либо смещение? Я работаю над домашними заданиями относительно поразрядных операторов, и я не могу делать на них головы или хвосты, и я думаю, что я полностью зависаю...
25 июня '09 в 2:55
6 отв.

Существует ли какая-либо "стандартная" хтоноподобная функция для 64-битных целых чисел в С++?

Я работаю над реализацией протокола memcache, который в некоторых случаях использует 64-битные целые значения. Эти значения должны храниться в "сетевом порядке байтов". Я хотел бы, чтобы была какая-то функция uint64_t htonll(uint64_t value), но, к ...
11 июня '10 в 15:09
16 отв.

64 бит ntohl() в С++?

Страницы руководства для htonl(), похоже, предполагают, что вы можете использовать его только для 32-битных значений. (На самом деле, ntohl() определяется для unsigned long, который на моей платформе 32 бита. Предполагаю, что если unsigned long был ...
01 мая '09 в 4:53
9 отв.

Почему в С++ нет модификатора endianness, как для подписки?

(Я предполагаю, что этот вопрос может применяться ко многим типизированным языкам, но я решил использовать С++ в качестве примера.) Почему нет способа просто написать: struct foo { little int x; // little-endian big long int y; // big-end...
28 нояб. '17 в 15:02