Задать вопрос
@TheMrViper

Как работает иннициаизация переменной и ByteOrder в golang?

Доброго времени суток, хотелось бы получить объяснение такому примеру:
var num int32 = 0x00000020
Моя машина работает на litle-endian, и при таком варианте записи, число num1 = 5.........., но на выходе я получаю 32, и когда смотрю это число в памяти, то вижу 0х20000000.
Так вот, почему при такой записи числа, оно реверсит данные? Такое ощущение что при такой инициализации переменной, данные принимаются в big-endian, и потом переводятся в машинный порядок.
У меня нет возможности тестировать код на big-endian процессоре, но поддержка такого процессора нужна.
Сразу второй вопрос по теме, как всегда читая из потока, и потом при записи в поток, записывать числа в порядке big-endian не зависимо от порядка процессора, т.е. если процессор работает в big то писать как есть, а если в litle то конвертить?
  • Вопрос задан
  • 298 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Не совсем понял суть вопроса, но может помогут следующие ссылки:
golang.org/pkg/encoding/binary
grokbase.com/t/gg/golang-nuts/129jhmdb3d/go-nuts-h...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы