Dev - C++ - Duda con ostream::write

 
Vista:
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Duda con ostream::write

Publicado por Federico (11 intervenciones) el 23/05/2017 01:22:09
Buenas mi duda es que por qué en este código sale en pantalla CBA en vez de ABC ya que en el código ASCII se encuentra antes en hexadecimal con el código A:41h y sale antes por pantalla C:43h.

Lo que le paso al cout.write es el char con la direccion hexadecimal de x

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main (){
 
	int x= 0x414243;
 
	cout.write((char*)&x , 1);
	cout.write(((char*)&x)+1,2);
}

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Leonardo
Val: 26
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Duda con ostream::write

Publicado por Leonardo (11 intervenciones) el 25/05/2017 16:21:08
el problema es que la información en memoria se almacena usando little-endian, en definitiva en orden inverso.
Pero en wikipedia viene toda la explicación, incluso con ejemplos mira esta URL https://es.wikipedia.org/wiki/Endianness
Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar