高地址和低地址、高字节与低字节、大小端模式的转换、存储顺序

以下内容源于网络资源的学习与整理,如有侵权请告知删除。

 

一、高地址和低地址

二、高字节低字节

如int a=16777220,化为十六进制是0x01 00 00 04,则04属于低字节,01属于高字节。

三、大小端模式

(1)如果a在内存中的存放顺序为下图(即低字节存放在高地址),则为大端模式

(2)如果a在内存中的存放顺序为下图(即低字节存放在低地址),则为小端模式

(3)如何互换(通过移位操作再或)

四、存放顺序

数据在内存中存放的原则

(1)一个整数类型内部

低地址存储低位,高地址存储高位。比如int a=1,则存储情况为0000(高地址) 0000 0000 0001(低地址)。

(2)若干个局部变量(在栈中存储的)

先定义的高地址,后定义的低地址。

(3)类、结构体或数组的元素

先定义的低地址,后定义的高地址。

五、测试说明

(1)整数类型内部:低地址存储低位,高地址存储高位。

#include<iostream>
using namespace std;union U
{char str[2];short int num;
};int main() 
{U u;u.str[0] = 10;//存放在低地址,0000 1010u.str[1] = 1;//存放在高地址, 0000 0001cout << u.num << endl;//组合的时候,整数类型内部低地址存储低位,高地址存储高位,因此是0000 0001 0000 1010 = 266system("PAUSE");return 0;
}

(2)若干个局部变量(在栈中存储的):先定义的高地址,后定义的低地址。

类、结构体、数组中的元素:先定义的低地址,后定义的高地址

class Test {
public:int m;int n;
};
int main() 
{int a;char b;int c[10];Test t;cout << (size_t)&a << endl;//结果1cout << (size_t)&b << endl;//结果2cout << (size_t)&c << endl;//结果3cout << (size_t)&t << endl;//结果4cout << (size_t)&t.m << endl;//结果5cout << (size_t)&t.n << endl;//结果6system("PAUSE");return 0;
}

结果1>结果2>结果3>结果4=结果5<结果6

分析:

结果1>结果2>结果3>结果4,是因为a、b、c、t都是局部变量,在栈上存储,栈是从高地址到低地址,因此地址逐渐减小。

结果5<结果6,是因为结构体内部,先定义的地址小,后定义的地址大,这与类内的成员,数组总的元素,都是类似的。      

分析它们的数值差,可以发现字节对齐问题,数组名占用4字节等问题。

总的来说,具体的地址,需要考虑“栈的高地址到低地址”、“字节对齐”、“数组”这样的特殊情况等等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

漫谈数据挖掘从入门到进阶

入门&#xff1a;数据挖掘入门的书籍&#xff0c;中文的大体有这些&#xff1a;Jiawei Han的《数据挖掘概念与技术》Ian H. Witten / Eibe Frank的《数据挖掘 实用机器学习技术》Tom Mitchell的《机器学习》TOBY SEGARAN的《集体智慧编程》Anand Rajaraman的《大数据》Pang-Nin…

(转)Asp.Net生命周期系列一

原文地址&#xff1a;http://www.cnblogs.com/skm-blog/archive/2013/07/07/3176713.html Asp.Net生命周期对于初级甚至中级程序员来说&#xff0c;一直都是一个难题&#xff0c;很多程序员不了解生命周期&#xff0c;导致使用Asp.Net做开发感觉很不灵活&#xff0c;感觉太多东…

与TCP有关的面试内容

以下内容源于网络资料的学习与整理。 参考博客 TCP/IP四层模型 - BlueTzar - 博客园&#xff08;OSI参考模型和TCP模型的详解&#xff0c;包括格式&#xff09; TCP/IP协议-为什么说TCP是可靠连接_shuaixio的博客-CSDN博客&#xff08;为什么可靠及优缺点&#xff09; 两张动图…

JUnit4概述

JUnit4是JUnit框架有史以来的最大改进&#xff0c;其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation&#xff0c;这个单词一般是翻译成元数据。元数据是什么&#xff1f;元数据就是描述数据的数据。也就是说&#xff0c;这个东西在…

正则表达式30分钟入门教程(转)

分享到一键分享QQ空间新浪微博百度云收藏人人网腾讯微博百度相册开心网腾讯朋友百度贴吧豆瓣网搜狐微博百度新首页QQ好友和讯微博更多...百度分享首页 | 正则表达式30分钟入门教程 | 常用正则表达式| 正则表达式速查表 | 正则表达式测试工具 | 正则表达式 | 正则练习器在线版 正…

进程、线程简介

以下内容源于网络资源的学习整理&#xff0c;如有侵权&#xff0c;请告知删除。 参考博客 http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html&#xff08;通俗理解&#xff09; https://blog.csdn.net/chen_geng/article/details/51613445&#xff08;表格…

使用keil建立标准STM32工程模版(图文详细版!)

1. 模板工程的创建(超级详细版&#xff0c;使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学&#xff0c;让开发更容易更方便&#xff0c;希望大家养成良好的习惯&#xff0c;使用具有合理结构的工程目录&#xff0c;当你着手于较大的软件项目时&a…

android模拟机新闻APP,DavidTGNewsProject

DavidTGNewsProject##【Android】最新主流新闻app功能实现。仿网易,搜狐等新闻客户端(原创作品&#xff0c;转载请说明出处)先给大家看一下效果图&#xff1a;这个项目总体来说虽然不是特别难&#xff0c;但是确实非常常用的功能。是业余时间自己写的一个小项目。以前我们写的时…

轻操作动作休闲单机游戏《狂斩三国2》评测

游戏类别&#xff1a;动作休闲单机游戏时隔一年&#xff0c;曾在国内和台湾手游市 场获得top1佳绩的《狂斩三国》再度归来&#xff01;其策略加动作的独特玩法在当时颠覆了玩家们对三国游戏的阵营认知。比传统策略更简单明快&#xff0c;比传统动作无脑砍更 具思考乐趣&#xf…

物联网简介

以下内容源于朱有鹏老师课程的学习整理&#xff0c;如有侵权&#xff0c;请告知删除。 本文档提供下载&#xff1a;提取码1111——物联网简介 1、什么是物联网 1.1.物联网的概念和发展历程 1.1.1、认识物联网 &#xff08;1&#xff09;百度百科中物联网定义 &#xff08;…

Mysql语句与应用

2019独角兽企业重金招聘Python工程师标准>>> 1。正则表达式 搜索多个关键词&#xff0c;“或”, 等同 %上海% | %内蒙古% SELECT * FROM analysis_result WHERE result REGEXP 上海|内蒙古 LIMIT 1; "且" SELECT * FROM analysis_result WHERE id 1 AND …

android gb2312 utf-8,不同编码页面之间用form传值出现乱码问题解决方案 utf-8 到 gb2312...

相信有人也曾遇到过这种问题&#xff0c;今天将这个问题稍作整理发布出来。由于编码的问题传值出现乱码&#xff0c;一看到这样的情况&#xff0c;我们首先想到的是线面的两种解决办法&#xff1a;方案一&#xff1a;在接收参数页面进行转码 (这是较为理想的解决办法)方案二&a…

颜色的数字化描述(RGB与YUV的简介)

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考内容 &#xff08;1&#xff09;YUV和RGB的相互转换实验_Geek.Fan的博客-CSDN博客 &#xff08;2&#xff09; 工作中用到的一些基础知识 &#xff08;3&#xff09;YUV422 YUV420 Planar \ Se…

softlayer virtual machine vhd磁盘镜像导入shell脚本

softlayer virtual machine vhd磁盘镜像导入shell脚本 脚本 测试上传; 20480 records in20480 records out2147483648 bytes (2.1 GB) copied, 44.2262 s, 48.6 MB/scurl: option --data-binary: out of memorycurl: try curl --help or curl --manual for more information 28…

第二季1:MPP模块概述

以下内容源于海思官方文档内容&#xff0c;如有侵权请告知删除。 一、MPP模块概述 海思的媒体处理软件平台&#xff08;MPP&#xff0c;Media Process Platform&#xff09;有利于应用软件的快速开发。因为该平台屏蔽了一些与芯片相关的复杂的底层处理&#xff0c;给应用软件提…

小米平板安装鸿蒙系统,【新机】安卓最强平板?MatePad Pro2曝光:预装鸿蒙OS | 小米平板5到底啥时候发布?...

目前安卓阵营还在好好做平板的可能也就是三星和华为了&#xff0c;至少整体的配置规格都还不错。根据爆料&#xff0c;华为将会在近期推出MatePad Pro 2代产品&#xff0c;预计6月份正式和大家见面。MatePadPro2将会搭载麒麟9000处理器&#xff0c;算是目前安卓平板里性能最强的…

第二季3:sample_venc.c的整体分析

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、sample文件夹的介绍 将mpp/sample文件夹以及mpp/include文件夹导入SI后&#xff0c;搜索main时可以发现很多main函数。这说明sample文件夹下有很多例程&#xff0c;每个例程面向一个典型应用。…

poj 2891 Strange Way to Express Integers

题目&#xff1a;http://poj.org/problem?id2891 思路&#xff1a;扩展欧几里得 #include <cstdio> #include <cstring> #include <iostream> #include <cmath> #include <algorithm> using namespace std; #define maxn 100010 int n; long lo…

读书笔记2014第13本:《富爸爸,穷爸爸》

早就收藏了《富爸爸&#xff0c;穷爸爸》这本书&#xff0c;一直没看&#xff0c;最近仔细翻看一遍&#xff0c;发现自己智商一般&#xff0c;情商不行&#xff0c;原来财商更差&#xff0c;连书里的穷爸爸也比不上。这本书在这个时代再看&#xff0c;已经跟不上形势的发展了&a…

第三季1:ORTP库的移植与视频的实时传输实验

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 本节内容是移植ORTP库&#xff0c;并使用ORTP库来完成视频的实时传输。 一、ORTP的简介 1、视频网络传输的两种方式 &#xff08;1&#xff09;基于下载的方式。比如http&#xff08;Hyper Text T…