java中int类型的大小是32位,最前面一位是符合位,后面31位表示数的值。
1 当然是 00 00 00 01

解决方案 »

  1.   

    在c语言中:1如下表示 01 00 00 00(低位到高位)(16进制)
    请问 ddbean(丁大伯)你说的当然意思是:00 00 00  01(低位到高位) 是什么意思?
    如下存储吗?
    00
    00
    00
    01
    还是:
    01
    00
    00
    00
    (16进制)
      

  2.   

    我举一个例子:768在c语言中如下存储12 03 00 00 (低位到高位 16进制)
    那么在java中如何存储呢?
    是不是 00 00 03 12 (低位到高位 16进制),或者 12 03 00 00(低位到高位 16进制;
    或者其他的方式 ?
    请“高手"执教!
      

  3.   

    FAINT,学习JAVA还不知道如何存储。
    看看楼主你自己写出来的例子还看不明白吗?
    index 0 右移 24位;
    index 1 右移 16位;
    index 2 右移 8位;
    index 3 直接取8位;JAVA使用Big-endian order,High-order first.
    比如short是两个字节那么存储为 byte1<<8 | byte2
    所以int 1存储为: 00 00 00 01
    而786存储为:00 00 03 12另外提醒mike_winnor(奎奎) 注意一下,并不是C语言的存储为 12 03 00 00,而是C语言与具体的硬件平台相关,12 03 00 00这样的存储顺序是x86体系采用的存储顺序,在其它不同的硬件平台下就不一定如此了。而JAVA无论在什么平台下,始终是一个存储顺序,和x86的存储是反着的。
      

  4.   

    老兄有没有具体的文档让我看看学习一下,这块程序是我从网上smpp协议中,摘出来的,我拷贝出来用来开发SGIP协议。TMD,当时我也没有仔细看,只知道大体意思,就弄出来了。
    最近用C开发,才回过头来看看以前的东西。自己当初不是很懂。
    我说的12 03  00  00都是在PC 上VC中看的。还有一个问题,既然是反着,我这个流发给短信网关,而网关是vc开发的,居然没有拆份错,
    我越来越糊涂了。