Mam kilka pytań dotyczących endian-ności, które są na tyle na tyle powiązane, że gwarantuję umieszczenie ich w jednym pytaniu:Szczegóły dotyczące Endian-ness i .Net?
1) Czy endianizm jest określony przez .Net lub przez sprzęt?
2) Jeśli decyzja jest podejmowana przez sprzęt, jak mogę dowiedzieć się, który endian sprzęt jest w C#?
3) Czy endogeniczność wpływa na interakcje binarne, takie jak OR, ORAZ, XOR czy przesunięcia? TO ZNACZY. Czy przesunięcie raz w prawo zawsze przesunie najmniej znaczący fragment?
4) Wątpię w to, ale czy istnieje różnica w endian-ness z różnych wersji frameworka .Net? Zakładam, że są one takie same, ale nauczyłem się przestać przyjmować pewne szczegóły niższego poziomu, takie jak to.
W razie potrzeby mogę zadać je jako różne pytania, ale sądzę, że każdy, kto zna odpowiedź na którąś z nich, prawdopodobnie zna odpowiedź na wszystkie (lub może wskazać mi kierunek).
nie jestem pewien # 4 jest całkowicie poprawne. Na przykład .Net Compact Framework działa na wielu urządzeniach, zakładam, że niektóre z nich są typu big-endian. A Mono (choć nie .Net, ale ważna implementacja CLR) z pewnością działa na platformach big-endian. Myślę, że Corey pytał, czy endianość różni się od inkrementalnych wersji .Net (np. 1.0 .. 4.0) - odpowiedź na to pytanie brzmi "nie" - zależy to tylko od sprzętu. –
Będę drugi komentarz @ Mark H. O endianness decyduje sprzęt i .Net po prostu użyje tego, co jest. Jednak nie ma zajęć w.Sieć będzie polegać na konkretnej endianiczności (a przynajmniej żadna klasa nie powinna :-)), więc w najlepszym razie można powiedzieć, że jest agnostyczna, a nie, że ma szczególną endianię. –
@ Mark: Zaktualizowałem odpowiedź, aby odzwierciedlić Mono/CF. Uważam, że jedyną platformą BE CF jest XBox. –