Tengo algunas preguntas sobre endian-ness que están lo suficientemente relacionadas que justifico ponerlas en una sola pregunta:Detalles sobre Endian-ness y .Net?
1) ¿Es endian-ness decidido por .Net o por el hardware?
2) Si el hardware lo decide, ¿cómo puedo averiguar qué endian es el hardware en C#?
3) ¿El endianismo afecta a las interacciones binarias, como OR, AND, XOR o cambios? ES DECIR. ¿Cambiará una vez a la derecha para cambiar el bit menos significativo?
4) Lo dudo, pero ¿hay alguna diferencia en el endian-ness de las diferentes versiones de .Net framework? Supongo que todos son iguales, pero aprendí a dejar de suponer algunos de los detalles de nivel inferior como este.
Si es necesario, puedo formular estas preguntas como diferentes, pero creo que cualquiera que conozca la respuesta a una de estas probablemente sepa la respuesta a todas ellas (o me puede orientar en una buena dirección).
No estoy seguro # 4 es del todo correcto. Por ejemplo, .Net Compact Framework se ejecuta en muchos dispositivos, supongo que algunos de ellos son grandes endian. Y Mono (aunque no .NET, pero una implementación válida de CLR) ciertamente se ejecuta en plataformas de gran tamaño. Creo que Corey estaba preguntando si la endianidad difiere con las versiones incrementales de .Net (por ejemplo, 1.0 ... 4.0), la respuesta es que no, depende solo del hardware. –
Voy a segundo comentario de @Mark H. La endianidad es decidida por el hardware y .Net solo usará lo que sea. Sin embargo, no hay clases en.Net dependerá de endianness particular (o al menos ninguna clase no debería :-)), por lo que en el mejor de los casos puede decir que es agnóstico, no es que tenga endianness particular. –
@Mark: Actualicé la respuesta para reflejar Mono/CF. Creo que la única plataforma BE CF es XBox. –