经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
C语言编程大小端问题示例详解教程
来源:jb51  时间:2021/11/24 17:09:49  对本文有异议

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

如何理解大小端

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

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

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

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

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

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

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

大小端的基本概念

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

?

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

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

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

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号