高位字节排放在内存的低地址端即该值的起始地址 , 低位字节排放在内存的高地址端
为什么会有大小端呢?
在计算机中 , 每个地址单元都对应着一个字节(8bit)数据 。java中int类型占据4个字节 , long占据8个字节 , 计算机是由32位和64位之分的 , 处理器因此也就是有32位和64位之分 , 现在有一个32位的处理器 , 突然来了一个8字节64位的数据 , 这时候处理器就不能一下子处理了 , 于是就要把8个字节的数据分开存放 , 这一存放就要分出个高地了 , 谁在前面谁在后面的问题 。
比如说下面的这个例子(前几天做的一道面试原题):
小端情况
文章插图
大端情况
文章插图
这个在大端模式下是正常的 。牢记牢记 。
五、进制的使用场景
上面在介绍的时候其实说了一部分 , 但是这里再简单的举个例子 , 最常见的例子就是序列化 。我们知道客户端我们可以使用java语言编写 , 但是服务器就不一定了 , 可能是java , 也可能是C++,这时候传输数据怎么办呢?这俩语言之间又相互不认识 。这时候客户端java就可以把我们的数据切分序列化成二进制数 , 二进制数计算机到哪都能认识 , 这时候把二进制数发送到服务端 , 服务端按照一定的规则反序列化就OK了 。
对于字符串来说那就是太简单了 , 我们直接getBytes就可以转化成byte 。但是对于int该怎么办呢?我们给出一个例子 , 其他的可以自己测试一下 。
文章插图
OK , 进制中常见的问题先列出这么多 , 欢迎批评指正 。
【聊聊java中的进制问题】
推荐阅读
- Java 和 C++ 有何区别
- 一文带你揭穿葡萄酒中的山寨货、水货、假货
- 西游记中的善恶 西游记最无辜的妖怪
- 5张图彻底理解Python中的浅拷贝与深拷贝
- 茶叶水洗脸好处多
- 茶中的氟化物过量摄入会导致骨质疏松症
- 招聘|职场中的女性该如何注意自己的妆容及言行举止
- 晚饭喝杯黑砖茶有益健康
- BIOS里的csm是什么意思?
- 自动挡中的手自一体 手自一体的车怎么开