Конечность из того, что я понимаю, - это когда байты, составляющие многобайтовое слово, различаются по своему порядку, по крайней мере, в наиболее типичном случае. Так что 16-разрядное целое число может быть сохранено как 0xHHLL
или 0xLLHH
.
Предполагая, что я не ошибаюсь, мне хотелось бы знать, когда Endianness становится основным фактором при отправке информации между двумя компьютерами, где Endian может быть или не быть другим.
-
Если я передаю короткое целое число 1 в виде массива char и без коррекции, оно получено и интерпретируется как 256?
-
Если я разлагаю и перекомпоную короткое целое с помощью следующего кода, будет ли endianness больше не фактором?
// Sender: for(n=0, n < sizeof(uint16)*8; ++n) { stl_bitset[n] = (value >> n) & 1; }; // Receiver: for(n=0, n < sizeof(uint16)*8; ++n) { value |= uint16(stl_bitset[n] & 1) << n; };
- Существует ли стандартный способ компенсации судьбы?
Спасибо заранее!