本文主要是介绍大端序与小端序( 基本的浅见知识 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Big(大端序):
数据的高位字节存放在地址的低端 低位字节存放在地址高端
Little(小端序):
数据的高位字节存放在地址的高端 低位字节存放在地址低端
字节的高位与低位:
举个例子,int a =0x12345678 ; 那么左边12就是高位字节,右边的78就是低位字节,从左到右,由高到低,(注意,高低乃相对而言,比如56相对于78是高字节,相对于34是低字节 )
关于地址的高端与低端:
0x00000001
0x00000002
0x00000003
0x00000004
字节序如何存储数据:
假设从地址 0x00000001 处开始存储十六进制数 0x52365670
( 1.)对于大端而言:
( 2.)对于小端而言:
总结:大端序是按照数字的书写顺序进行存储的,而小端序是颠倒书写顺序进行存储的。
-----------------------------------
bool isBig()
{
}
打开VS的内存窗口,看一下a的存储方式,一目了然
0x0012FE88 01
0x0012FE89 00
0x0012FE8A 00
0x0012FE8B 00
---->当然还有方法也是可以的:就是使用 “Union
{
union
{
unsigned short a ;
char b ;
} c;
c.a = 0x0102 ;
if (c.b == 1 )
{
else
{
这篇关于大端序与小端序( 基本的浅见知识 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!