内存的存储及其存储方式

yizhihongxing

1. 内存存储
2. 内存存储的方式
3.为什么要有大小端模式的区分
4.判断大小端模式

1.内存的存储:内存是由低地址向高地址进行存储。(即我们个位数为低地址位,而百,千位为高地址数)

为方便理解我们定义了一个变量a,如下
内存的存储及其存储方式

vs上方窗口栏:调试-->窗口-->内存-->内存1

内存的存储及其存储方式

在地址处输入&a,取a的地址

内存的存储及其存储方式

内存存储总结:我们可以看到数据是从左往右,即低地址往高地址走

2. 内存存储的方式:内存存储的两种方式分别为大端存储模式小端存储模式,其概念如下:

大端模式的定义:是指数据的低位保存在内存的高地址中,而数据的高位,保存在数据的低地址中。

小端模式的定义:是指数据的低位保存在内存的低地址中,而数据的高位,保存在数据的高地址中。

大小端存储理解方式如下图:
内存的存储及其存储方式

3.为什么会有大小端的区分

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

4.判断存储模式为大小端

可通过如下得知存储模式为大端还是小端:

int main(){
  int a=1;
  char*p=(char*)&a;
  if(*p==1){
    printf("小端\n");
  }
  else{
  printf("大端\n");
  }
  return 0;
}

原文链接:https://www.cnblogs.com/zzao/p/17110790.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:内存的存储及其存储方式 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • 详解Go语言的错误处理和资源管理

    详解Go语言的错误处理和资源管理 错误处理 在Go语言中,错误是一种实现了error接口的类型。一般来说,函数将返回值和一个error类型的值。如果函数执行成功,则返回值为期望的值,同时error值为nil。如果函数执行失败,则返回值为某个默认值,同时error值为个性化的错误信息。 Go语言提供了许多方法,方便对错误进行检查和处理。其中,最基础的方法是使用…

    C 2023年5月22日
    00
  • C语言实现通讯录系统课程设计

    C语言实现通讯录系统课程设计 本次课程设计旨在通过实现一个简单的通讯录系统,帮助初学者巩固C语言基础知识,并初步了解数据结构相关操作和应用。 基本功能 通讯录系统主要包含以下功能: 添加联系人 删除联系人 修改联系人信息 查找联系人 显示所有联系人信息 清空联系人 设计思路 通讯录系统主要使用链表数据结构作为存储方式,并且通过读写文件将链表数据结构永久保存到…

    C 2023年5月23日
    00
  • C++类型转换详解

    C++类型转换详解 强制类型转换 强制类型转换可以将一个变量从一种类型转换为另一种类型,例如将浮点数转换为整数,将整数转换为字符等。 static_cast static_cast用于静态类型转换,主要用于不同类型之间的转换。 示例: double d = 3.14; int i = static_cast<int>(d); 这里我们将doubl…

    C 2023年5月23日
    00
  • Vue element ui用户展示页面的实例

    下面我将为你详细讲解“Vue element ui用户展示页面的实例”的完整攻略。 1. 环境配置 在开始使用Vue element ui之前,需要先进行环境配置。具体操作步骤如下: 安装Node.js:在Node.js官网下载对应系统的安装包,安装完成后,在命令行中输入node -v查看是否安装成功; 安装Vue CLI:在命令行中输入npm instal…

    C 2023年5月23日
    00
  • php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例

    下面我将为您详细讲解“php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例”的攻略。 分析问题 中文字符串截取是一个比较常见的需求,但是在PHP中的substr函数并不支持中文字符集,如果直接使用原生substr函数截取中文字符串会导致出现乱码或者截取不准确的问题。所以我们需要自定义中文字符串截取函数来解决这个…

    C 2023年5月22日
    00
  • JS解析后台返回的JSON格式数据实例

    下面是JS解析后台返回的JSON格式数据实例的攻略。 一、JSON格式数据 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript语法,但是使用了文本形式来表示数据,因此易于编写和理解。JSON以键值对(key-value pair)的形式组织数据。键名必须是字符串,值可以是任意类型的数据。值可…

    C 2023年5月23日
    00
  • Qt操作SQLite数据库的教程详解

    Qt操作SQLite数据库的教程详解 在Qt中,可以使用QSqlDatabase来操作Sqlite数据库,以下是详细的攻略。 步骤一:导入Sqlite驱动 在使用Sqlite数据库之前,需要导入Sqlite驱动。在*.pro文件中添加如下代码: QT += sql … #SQLite QT += sqlite 步骤二:连接Sqlite数据库 使用QSql…

    C 2023年5月22日
    00
  • C++实现数字雨效果

    下面是“C++实现数字雨效果”的完整攻略。 介绍 数字雨效果是一种经典的计算机界面特效,最初出现在电影《黑客帝国》中。数字雨效果通常表现为一系列由随机位置和速度下落的字符或数字组成的“雨”,给人一种未来感和科技感。在本文中,我们将介绍如何使用C++实现数字雨效果。 实现思路 实现数字雨效果的基本思路是维护一个字符数组,将每个字符往下移动一格,并随机生成新的字…

    C 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部