用C++,Java语言,存在数据移植问题。因为在计算机系统中,当包含数字的二进制文件从一个结构移到另一结构时,就出现大尾小尾问题。不同CPU在多字节数(如四字节int)存储时有两种方法,一种方法叫小尾(little_endian),数据的低字节被放置在连续存储区的首位,另一种方法叫大尾(big_endian),数据的高字节被放置在连续存储区的首位。Intel 80×86家族处理器是最后一个仍然坚持小尾的主要结构。所有其他的CPU结构(Motorola 680×0和所有RISC芯片)或者是纯粹的大尾或者是既适应大尾也适应小尾,大尾被认为是更符合逻辑的方法)。当数字由小尾处理器写入文件然后又由大尾处理器读取(或者倒过来)时,数字就会被搞乱(除了0和-1)。
运用C++或C语言,数据在文件中的存储形式是与处理器相关的,这使得简单的数据文件的移植成为一个大问题。而Java作为平台独立语言,所有的数据都是以大尾形式存储到文件中,Java语言本身产生的数据文件无移植问题。但是它在与C/ C++通讯时还应注意,