我们在看编程书籍、嵌入式书籍的时候,经常会用到内存大小,那么内存大小是如何表示的呢?如我们使用内存的范围为0X8000 0000~0X8020 0000,那么这块内存是多大呢?今天我们就分析这个问题

计算过程

首先我们要知道,在系统中我们说内存大小是使用byte为单位的。也就是说1=1byte,另外我们要熟悉16进制的转换,那么就有了:

0X1 = 1byte
0X10 = 16 byte
0X100 = 16*16 byte = 256 byte
0X1000 = 16 *256 byte= 4 * ( 4 * 256byte) = 4 * 1024 byte =4K byte
0X1 0000 = 16 * 4K byte = 64K byte
0X10 0000 = 16 * 64K byte = 1024K byte = 1M byte
0X100 0000 = 16 * 1M byte = 16M byte
0X1000 0000 = 16 * 16M byte = 256M byte
0X1 0000 0000 = 16 * 256Mbyte = 4*(4*256) Mbyte = 4*1024Mbyte=4Gbyte好了,我是按一定倍数慢慢增大的,就明白它的计算方法了。
还有,为了更好的记忆,我们还需要将我们经常使用的单位列举出来1K byte = 4* 256byte = 4* 0X100 = 0X400
256M 上面有了
512M = 2* 256M = 2*0X1000 0000 = 0X2000 0000 byte
1G = 2* 512M = 0X4000 0000 byte
4G = 0X1 0000 0000 byte
8G = 0X2 0000 0000 byte
16G = 16 * 1G = 4 * 4 * 1G = 0X4 0000 0000 byte

数据对应表

那么我们就有了下面的数据:

0X1          =  1 byte
0X10            =  16 byte
0X100           =  256 byte
0X400           =  1K byte
0X1000          =  4K byte
0X1 0000        =  64K byte
0X10 0000       =  1M byte
0X100 0000      =  16M byte
0X1000 0000     =  256M byte
0X2000 0000     =  512M byte
0X4000 0000     =  1G byte
0X1 0000 0000   =  4G byte
0X2 0000 0000   =  8G byte
0X4 0000 0000   =  16G byte

常用的数据都列举出来了。
那么上面的数据0X8000 0000~0X8020 0000 就等0X20 0000 = 0X10 0000 *2 = 2M ,就用最挨近上面的数据简单计算就可以了。

创作不易,欢迎点赞、关注。

–好记性不如烂笔头。

如何表示内存大小(内存用十六进制表示)相关推荐

  1. asp.net core服务限制堆内存大小

    文章目录 前言 1.asp.net core是什么 2.限制其堆内存最大大小 2.1 设置.NET 运行时的配置 2.2 在项目中创建runtimeconfig.json配置文件 2.2 限制堆的大小 ...

  2. 2 OC 对象的本质(一个Student 占用的内存大小)

    一 Student 占用的内存空间 补充: 1 成员变量占用字节的大小: 2 内存对齐的规则:结构体的内存大小必须是最大成员变量的内存的倍数. 一个 Student 类,继承自NSObject,有两个 ...

  3. iOS NSObject对象内存大小

    NSObject内存大小 类的本质是结构体 无须赘述 struct NSObject { Class isa; }; 一个类对象的实例大小是8个字节 之所以打印出的16个字节,是因为一个NSObjec ...

  4. PX4修改线程内存大小

    当编译时出现错误: 在CMakeLists.txt文件中修改内存大小 px4_add_module(#下面添加文件夹名字MODULE modules__position_control#下面添加线程名 ...

  5. C++_类和结构体所占内存大小,静态成员问题

    C++_类和结构体所占内存大小,静态成员问题 静态成员未初始化或者未调用(当然静态成员必须类外初始化才能调用)是不占内存的.静态成员不占类或结构体的内存 静态成员函数同样只声明未定义同样不占内存 指针 ...

  6. android获取当前应用占用的内存大小,Android分析已安装应用占用内存

    问题 Android开发时可以通过AndroidStudio提供的一些系列工具查看应用的内存占用,十分的方便. 但是如果是对一个成品的已安装App快速查看内存占用呢,下面简单讲两种方式. 方案一:to ...

  7. C# 利用WMI对象获取物理内存和可用内存大小

    下面的代码演示的是使用WMI对象可获取取物理内存和可用内存大小,在使用WMI对象前,先要添加对System.Management的引用,然后就可以调用WMI对象,代码如下: //获取总物理内存大小Ma ...

  8. java设置native内存大小_如何定位native内存泄露问题?

    运行一段时间后,程序出现异常:部分操作无法进行.异常日志如下: java.lang.OutOfMemoryError: unable to create new native thread at ja ...

  9. 如何修改和查看tomcat内存大小

    为了解决tomcat在大进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式: 一.使用 catalina.bat 等命令行方式运行的 tomcat 查看系统最大支 ...

最新文章

  1. 使用getopts处理选项
  2. linux docker 目录挂载映射
  3. securecrt切换会话(session)的显示方式
  4. 蓝桥杯-c++_ch04_02_修正版(java)
  5. MathType中的一些精彩技巧
  6. 【机器学习】模型又线上线下不一致怎么办?
  7. 3.Vue 条件渲染
  8. 编译linux内核时出错
  9. blob的真实地址怎么获得_使用Python抓取m3u8加密视频 续:获得index.m3u8 地址
  10. 如何在.NET Core中创建API
  11. php调用接口搜索的网页源代码,PHP用户管理中常用接口调用实例及解析(含源码)...
  12. 接口规范 11. 串流相关接口
  13. 实现全站统一的Page_PreInit()等事件
  14. 在阿里云主机上部署Mysql数据库详细教程
  15. 一、肿瘤全基因组分析概况(Pan-cancer analysis of whole genomes,PCAWG)
  16. Hi3531D加载TVP7002驱动模块——新手全过程记录
  17. 用Python写简历
  18. 多线程高并发,spring整合kafka消费
  19. 编程大法—炼体筑基—计算机组成原理
  20. PCL学习二:PCL基础应用教程

热门文章

  1. C语言数据结构预备知识模块二:结构体
  2. 《当幸福来敲门》的生活指向...
  3. 一种会发光的扎带标签 lassorfid新品
  4. 【流光溢彩】物联网入门 - ESP8266 + WS2812B 制作流光溢彩灯带
  5. 几十种计算机语言简介 你知道几种?
  6. php工程师工作内容描述,php程序工程师岗位职责
  7. MissingReferenceException: The object of type 'GameObject' has been destroyed
  8. vue3打包时提示 TS2322:Type ‘() => void‘ is not assignable to type ‘MouseEvent‘.
  9. 机器人能帮助缝制 T 恤吗?机器可以取代人力吗?
  10. 华中科大校长李培根在2010年毕业典礼上的演讲