用C语言程序判断大小端模式

2016-02-19 10:31 17 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐用C语言程序判断大小端模式,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - 编程语言 】

1.大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端模式相反

 2.为什么有大小端之分???

 因为在计算机系统中,存储是以字节为单位的,每个地址单元都对应着一个字节,一个字节=8bit。在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器)。对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,如何安排多个字节的存储,这就有了大端存储模式和小端存储模式

3.各自的优势:

小端模式:强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样。

大端模式:符号位的判定固定为第一个字节,容易判断正负。

4.常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式.

5.C语言判断大小端模式

方法一:

代码如下:

void IsBigEndian()
{
 short int a = 0x1122;//十六进制,一个数值占4位
 char b =  *(char *)&a;  //通过将short(2字节)强制类型转换成char单字节,b指向a的起始字节(低字节)
 if( b == 0x11)//低字节存的是数据的高字节数据
 {
  //是大端模式
 }
 else
 {
  //是小端模式
 }
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

方法二:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

代码如下:

void IsBigEndian()//原理:联合体union的存放顺序是所有成员都从低地址开始存放,而且所有成员共享存储空间
{
 union temp
 {
  short int a;
  char b;
 }temp;
 temp.a = 0x1234;
 if( temp.b == 0x12 )//低字节存的是数据的高字节数据
 {
  //是大端模式
 }
 else
 {
  //是小端模式
 }
}

在我的机子上验证了一下是小端模式

来源:https://www.tulaoshi.com/n/20160219/1594904.html

延伸阅读
在鬼谷算题中有这样一个闻名的题目:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”这属于高等数学中的数论。我国宋代学者对这类题目钻研已颇为精深,总结出了“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,去百零五便得知。”这样的口诀,意思是说“以三三数之,余数乘以七十;五五数之,余数乘以二十一;七...
问题的提出:我们在编制程序时,经常要用到清屏处理,如dos下的cls,Turbo C下的clrscr()等都具有清屏功能,但这些均为一般意义的清屏,并未显示其清屏规律。而有时为了达到清屏的艺术美观,往往对清屏有一些具体要求,如:开幕清屏、闭幕清屏、上清屏、下清屏、中清屏。为此,这里用C语言编制了几个子函数,用于程序中时,既可达到清屏的目的,...
标签: flash教程
逐步说明: 1)建立程序如图所示。在图层background的第1帧放有“边框”、“判断大小按钮(btn_arrow)”、“文本框背景(txtback)”。 2)在图层background的第六帧处插入一关键帧,并在该帧中添加“YOU WIN”字样,表示您判断全对。 在第七帧处插入一关键帧,并删除“YOU WIN”字样,添加“YOU LOSE”字样,表示您判断...
简介: 框架是一种定制的通用的应用程序开发基础软件,在其基础上可以开发完整的关且功能完善的软件。在最近几年里,已经成功实现了某些应用领域的开发框架,比如说用户介面开发及数据访问开发等。如果能成功的开发出一个框架,这将是一个突破,因为这意味着开发将不再从头开始实现某个功能:比如一个框架如果可以成功的生成一个用户介...
文章摘要 : CGI规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互。CGI程序可以用任何程序设计语言编写,如Shell脚本语言、Perl、Fortran、Pascal、C语言等。 !-- frame contents -- !-- /frame contents -- 但是用C语言编写的CGI程序具有执行速度快、安全性高等特...

经验教程

459

收藏

8
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部