инструменты, предоставляемые вашей средой
ковый номер, который я понимаю, - это когда байты, составляющие многобайтовое слово, различаются по своему порядку, по крайней мере, в наиболее типичном случае. Так что 16-битное целое число может быть сохранено как0xHHLL
или же0xLLHH
.
Предполагая, что я не ошибаюсь, я хотел бы знать, когда Endianness становится основным фактором при передаче информации между двумя компьютерами, где Endian может отличаться или не различаться.
Если я передаю короткое целое число 1 в виде массива символов без исправления, получится ли оно и будет интерпретировано как 256?
Если я раскладываю и перекомпоновываю короткое целое число, используя следующий код, будет ли порядковый номер больше не быть фактором?
// 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;
};
Есть ли стандартный способ компенсации порядка байтов?Заранее спасибо!