今天看到关于字节序big endian和little endian的问题。通过搜索,知道了:
1.java使用 big endian格式读取字节,这种字节序又称为网络字节序,也就是网络上传输的数据也是这种格式。
2.x86 cpu使用的格式是little endian。
3.如果用C写的程序运行在x86 cpu的机器上,向另一台机器上的java程序发送一个数据时,需要将这个数据的字节序由little endian转换成big endian即网络字节序后再进行传输,否则java程序读到此数据时,将会转换成错误的数据。
现在的问题是,如果在一台x86 cpu的机器上运行一个java程序,此程序与cpu(或者说控制cpu的程序比如汇编?)在数据交换方面是怎样做的呢,毕竟他们使用的字节序是不同的啊,他们之间是不是也要转换,如果转换,是否会影响机器运行效率?
Java