java中怎么将一个整数转化成一个占2个字节的大端二进制?

程_序_猿 2014-10-10 11:21:28
java中怎么将一个整数转化成一个占2个字节的大端二进制?
...全文
678 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
曾经我是菜 2016-03-06
  • 打赏
  • 举报
回复
java本来就是大端方式保存整数的。你可以使用ByteBuffer类,也可以使用DataInputStream。并不一定要自己写一个方法。
shine333 2014-10-10
  • 打赏
  • 举报
回复
    public static short swapShort(short value) {
        return (short) ( ( ( ( value >> 0 ) & 0xff ) << 8 ) +
            ( ( ( value >> 8 ) & 0xff ) << 0 ) );
    }
@see org.apache.commons.io.EndianUtils
程_序_猿 2014-10-10
  • 打赏
  • 举报
回复
范围肯定没超,转二进制也没问题,主要是大端。。。
bichir 2014-10-10
  • 打赏
  • 举报
回复
2个字节最大就是0111111111111111,最小的1000000000000000 转成十进制则是32767~-32768 刚才对应JAVA的sort类型的范围, 所以如果你的数字刚才是这个范围 内的话,转换不会有问题,但如果超过这个数字范围了,会自动把高位截掉(符号位不变)。所有没办法完美的实现你的要求,当然如果是存储需要的话你可以借用压缩的方式来处理来思考一下。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧