高低位以及字节序
本文最后更新于138 天前,其中的信息可能已经过时,如有错误请发送邮件到2289035571@QQ.COM

大端和小端

  1. Big-Endian(大端):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
  2. Little-Endian(小端):低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。

高低字节

在十进制中靠左边的是高位字节,靠右边的是低位字节,在其他进制也是如此。例如 0x12345678,从高位到低位的字节依次是0x12、0x34、0x56和0x78。

高低地址

img

示例

数据: 0x1234 大小端传输:

在十进制中我们都说靠左边的是高位,靠右边的是低位,在其他进制也是如此。就拿 0x1234来说

高位:0x12

低位:0x34

其中,地址 0x00 是低地址,0x01是高地址。

地址: 0x00 0x01

大端: 12 34

小端: 34 12

为什么要有字节序

计算机电路先处理低位字节,效率比较高,因为计算都是从低位开始的。所以,计算机的内部处理都是小端字节序。在计算机内部,小端序被广泛应用于现代 CPU 内部存储数据;而在其他场景,比如网络传输和文件存储则使用大端序

  • 计算都是从低位开始的,因此计算机内部处理采用小端序,效率较高。
  • 而大端序存储的时候,由于符号位在高位,因此对于数据正负或大小的判断也就方便许多。另外,大端序也更符合人类的阅读习惯。

高8位(/256)和低8位 (%256)

0001 1111 1111 = 511

0000 1111 1111 = 255

显而易见的,如果想得到一个数的低8位,只需要将这个数 %256 ,那么取得的余数就是该数的低八位。

相反的,将这个数 /256 ,那么得到的值就是该数的高八位。

觉得有帮助可以投喂下博主哦~感谢!
作者:Lincol29
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0协议转载请注明文章地址及作者哦~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇