首页 > 其他分享 >数据类型所占的字节数探究

数据类型所占的字节数探究

时间:2023-06-07 09:04:35浏览次数:42  
标签:OS 字节数 8B 32 数据类型 探究 64 4B

数据类型所占的字节数探究

首先明确:操作系统的寻址能力和机器的地址总线宽度以及数据总线宽度都有关。地址总线宽度决定了机器中总共有多少物理地址,数据总线决定了OS能访问这些物理地址中的多少部分

  • 32位系统的数据总线和地址总线宽度都为32位,因此,一次最多能够处理32位的数据,最多能够访问4GB的内存地址空间。
  • 64位系统的数据总线和地址总线宽度都为64位,因此,一次最多能够处理64位的数据,最多能够访问的内存地址空间是16EB

因此,为了提高数据传输效率,尽量让数据类型大小在数据总线宽度内,以便一次访存就能读取完整。对于指针,也能说明当前OS的地址总线宽度是多少。

因此,32位OS中指针和数据类型通常占用4个字节(4*8B=32bits),64位OS中指针和数据类型通常占用8个字节(8*8B=64bits)。这也造成了相同数据类型在不同系统下的范围不同。

数据类型 32位OS 64位OS
char 1B 1B
short 2B 2B
int 4B 大多数4B,少数8B
float 4B 4B
double 8B 8B
long 4B 4B
指针 4B 8B

此外,数据类型占据的字节数还和编译器的数据模型相关,具体如下:

Datetype LP64 ILP64 LLP64 ILP32 LP32
char 8 8 8 8 8
short 16 16 16 16 16
int 32 64 32 32 16
long 64 64 32 32 32
long long 64
pointer 64 64 64 32 32
  • 一般情况下,windows64位一般使用LLP64模型

  • 64位Unix,Linux使用的是LP64模型

标签:OS,字节数,8B,32,数据类型,探究,64,4B
From: https://www.cnblogs.com/3to4/p/17462281.html

相关文章

  • 数组和元祖数据类型
    使用案例来讲解TS的数组类型和元祖类型数组类型方式一要求:定义一个数组这个数组只能存储数值类型的数据letvalArr:Array<Number>//定义一个数组类型存储数值valArr=[1,2,3]//正常valArr=["1","2",3];//会报错console.log(valArr);方式二字符串数组......
  • 1.3. 数据类型与变量
    数据类型在Java中,数据类型决定着一个数据的取值范围和操作。Java中的数据类型主要分为两类:基本数据类型和引用数据类型。基本数据类型Java中的基本数据类型包括整型、浮点型、字符型和布尔型。整型:byte、short、int、long。对应的取值范围依次是-128127、-3276832767、-21474......
  • 测验6: 组合数据类型
    测验6:组合数据类型1.单项选择题1.哪个选项是下面代码的输出结果?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬d={'a'......
  • 2.1 变量与数据类型
    在Python中,变量是用来存储数据的容器。数据类型是用来规定这些数据的类型,例如整数、浮点数和字符串等。接下来我们将详细了解Python中的变量和一些常见的数据类型。2.1.1变量的命名和赋值变量命名规则:变量名必须以字母(大写或小写)或下划线(_)开头,后面可以跟字母、数字或下划线。......
  • 提高代码可移植性和可靠性的数据类型头文件
    cstdint自C++11开始被引入,旨在为C++程序员提供一种可移植的方式来定义固定宽度的整数类型和相关常量,解决平台兼容性问题以uint64_t为例,说明该头文件的作用uint64_t是unsignedlonglong的类型别名,typedefunsignedlonglonguint64_t;在一些编译器和平台上,unsigned......
  • GaussDB数据类型介绍
    GaussDB数据库GaussDB是华为基于openGauss自研生态推出的云化企业级分布式关系型数据库,它支持多种数据类型,包括数值、字符、日期等。在使用GaussDB时,可能需要进行数据类型转换,以满足不同的需求。本文将以示例的形式罗列并介绍一些常见的数据类型转换方法等。     数据类型......
  • 探究GIS地图在城市规划、环境管理和农业领域的应用
    在这个信息爆炸的时代,如何有效地理解和利用地理空间数据成为各行各业追求的目标。而GIS地图作为一种强大的工具,能够帮助我们连接世界的空间智慧。 GIS地图的魅力在于它能够将庞大的地理数据转化为直观、可视化的地图表达。通过GIS地图,我们可以将地理信息呈现为各种形式的图层,如......
  • 1.2 Java基础 数据类型(Integer源码解析)
    Java数据类型和Integer源码解析1.2.1基本数据类型1.2.2什么是拆装箱1.2.3拆装箱是如何实现的1.2.4Integer继承关系1.2.5Integer源码解析1.2.1基本数据类型       如大家所知,Java是一门面向对象的语言,但是java并非完全面向对象,Java中的数据类型分为了       ......
  • 数据类型
       ......
  • FreeMarker介绍及基本数据类型和用法
    FreeMarker介绍及基本数据类型和用法FreeMarker中文官方参考手册FreeMarker英文官方参考手册一、FreeMarker介绍FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一......