C语言编程大小端问题示例详解教程

 更新时间:2021年11月24日 15:44:12   作者:鹿九丸  
这篇文章主要为大家介绍了C语言编程大小端问题解决的示例内容详解教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

今天想给大家分享的,是数据存储中的大小端问题,今天的分享主要分为三个部分,分别是如何理解大小端,大小端的基本概念以及大小端是如何影响数据存取的。

如何理解大小端

首先先带大家了解一个权值的概念。

对于多位数,处在某一位上的“i”所表示的数值的大小,称为该位的位权,可以简单理解为权值。

权值大的即为高权值位,权值小的即为低权值位,例如 0x010001,从左边起第一个1表示的是1*2^7,第二个1表示的是1*2^0,事实上,这也是我们通常所说的位置化数字系统。

在计算机中,数据按照字节为单位,有高权值位和低权值位之分,同样的,显而易见,地址也同样有高权值位和低权值位之分,为什么呢?因为不同的地址,在计算机中也是由二进制数字表示的,不过此处应该称为高地址位和低地址位,看图也可得知。

看上面这些地址,很容易得出,左侧为高地址位, 右侧为低地址位。

既然高权值位和低权值位以及高地址位和低地址位已经阐明,那么到底该如何理解大小端呢?

 可以看出,数据有两种存储形式,大小端可以简单的理解成数据在内存中的两种存储形式!

大小端的基本概念

下面将给出一个以字节为单位进行存储的数字在内存中的大小端存储形式帮助大家理解这个概念:

 

大小端是如何影响数据的存取的

大小端两种存储方案,本质上是数据和空间按照字节为单位的一种映像关系。

此处举的是小端的情况,事实上,这类似于栈的先进后出的原则。

事实上,上述存与取的方式与下面C程序地址空间正是一致的,即压栈与出栈的过程符合先进后出。

好了,今天的分享到此结束,希望大家能够有所收获,如果文章中有一些不足或者错误的地方,希望大家能够不吝指正,更多关于C语言大小端的资料请关注脚本之家其它相关文章!

相关文章

  • 详解C++中vector的理解以及模拟实现

    详解C++中vector的理解以及模拟实现

    vector是表示可变大小数组的序列容器。这篇文章主要为大家详细介绍了vector的理解以及模拟实现,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-03-03
  • 关于c语言指针的两处小tip分享

    关于c语言指针的两处小tip分享

    本篇文章是对c语言中指针的两处小tip进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 基于C++实现日期计算器的详细教程

    基于C++实现日期计算器的详细教程

    在现代社会中,计算器已经进入了每一个家庭,人们在生活和学习中经常需要使用到计算器,下面这篇文章主要给大家介绍了关于基于C++实现日期计算器的相关资料,需要的朋友可以参考下
    2022-06-06
  • 用c 获取文件MD5值的实现方法

    用c 获取文件MD5值的实现方法

    本篇文章是对用c语言获取文件MD5值的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • c语言for、while和do-while循环之间的区别

    c语言for、while和do-while循环之间的区别

    大家好,本篇文章主要讲的是c语言for、while和do-while循环之间的区别,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • C++ virtual destructor虚拟析构函数

    C++ virtual destructor虚拟析构函数

    C++中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放,今天通过本文给大家介绍C++ virtual destructor虚拟析构函数的相关知识,感兴趣的朋友一起看看吧
    2021-05-05
  • 从string类的实现看C++类的四大函数(面试常见)

    从string类的实现看C++类的四大函数(面试常见)

    C++类一般包括构造函数、拷贝构造函数、析构函数和赋值函数四大函数,非常常见,本文给大家介绍从string类的实现看C++类的四大函数,一起看看吧
    2016-06-06
  • C++实现简单的扫雷游戏(控制台版)

    C++实现简单的扫雷游戏(控制台版)

    这篇文章主要为大家详细介绍了C++实现简单的扫雷游戏,控制台版的扫雷游戏希望大家喜欢,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 大数(高精度数)模板(分享)

    大数(高精度数)模板(分享)

    本篇文章对大数(高精度数)模板进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++初阶之list的模拟实现过程详解

    C++初阶之list的模拟实现过程详解

    在C++中我们经常使用STL,那个在那些我们常用的数据结构vector,list的背后,又是如何实现的呢?这篇文章主要给大家介绍了关于C++初阶之list的模拟实现的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论