У меня есть несколько вопросов об энсианстве, которые связаны достаточно, чтобы я поставил их в качестве одного вопроса:Подробная информация о Endian-ness и .Net?
1) Является ли endian-ness решением от .Net или аппаратным обеспечением?
2) Если это определено аппаратным обеспечением, как я могу определить, какой энтиан является аппаратным средством на C#?
3) Влияет ли сущность на двоичные взаимодействия, такие как OR, AND, XOR или сдвиги? И.Е. Перемещая один раз вправо, всегда сдвигайте младший значащий бит?
4) Сомневаюсь, но есть ли разница в endian-ness из разных версий .Net framework? Я предполагаю, что они все одинаковые, но я научился перестать предполагать некоторые детали более низкого уровня, такие как это.
Если необходимо, я могу задать их как разные вопросы, но я считаю, что любой, кто знает ответ на один из них, вероятно, знает ответ на все (или может указать мне в хорошем направлении).
Я не уверен, # 4 совершенно правильно. Например, .NET Compact Framework работает на многих устройствах, я бы предположил, что некоторые из них являются большими. И Mono (хотя и не .Net, но действительная реализация CLR), безусловно, работает на платформах большого уровня. Я думаю, что Кори спрашивал, отличается ли сущность от инкрементных версий .Net (например, 1.0 .. 4.0) - ответ на этот вопрос нет - это зависит только от аппаратного обеспечения. –
Я второй комментарий @Mark H. Конкретность определяется аппаратными средствами, и .Net будет использовать только то, что есть. Однако никаких классов в.Net будет полагаться на определенную контенту (или, по крайней мере, ни один из классов не должен :-)), поэтому в лучшем случае вы можете сказать, что это агностик, а не то, что у него есть особая эндиантность. –
@Mark: Я обновил ответ, чтобы отразить Mono/CF. Я считаю, что единственной платформой BE CF является XBox. –