`

基本数据类型存储空间

 
阅读更多

基本数据类型存储空间

基本数据类型是学习语言中最先接触到的知识,就C、C++、Java而言,它们有很多类似点,但不同点更值得注意。下面单就存储空间方面进行对比和整理。

1.      存储容量单位

        计算机以“位”序列存储数据,每一“位”存储0或1。这里的“位”便是存储信息的一个单位:bit。

        字节:Byte 。1 Byte= 8 bits

        字:“字”由若干个字节构成,字的位数叫做字长,字长就是说字所对应的二进制数的长度。不同的机器有不同的字长。例如一台8位机,它的1个字就等于1个字 节,字长为8位。同理:一台16位机,那么,它的1个字就由2个字节构成,字长为16位;而一台32位机,它的1个字就等于4个字节,字长为32位。

2.      基本数据类型存储空间是否确定

        在C和C++中,基本数据类型所占的存储空间是不确定的, 这与编译环境或者机器硬件架构有关。在C++中,一般地,short类型为半个机器字长,int类型为一个机器字长,而long 类型为一个或两个机器字长。(在32位机器中,int 和long类型通常字长是相同的)。一般float 用一个字来表示,double用两个字来表示——摘自《C++Primer》。

        在Java中,有8种基本数据类型,它们所占的存储空间是确定的,而这种存储空间大小的不变性是是Java程序比其他语言程序更具可移植性的原因之一。另外Java中所有数据类型都是有符号的。

3.      基本数据类型存储空间

下面在32位win7系统中,分别用Visual Studio 编译C,C++程序,用eclipse编译Java程序。运行结果整理如下:


结果分析:

        对于都存在的数据类型,在测试环境中有两种数据类型存储空间是不同的,上面用蓝色标出。 

测试:(注:C和C++中整型变量存在有符号数和无符号数,Java中都是有符号的,但由于在C和C++中对于某种特定类型而言,有无符号只是取值范围不同而已,并不影响存储空间大小,故测试中采用隐含的形式,即有符号数)

1)  C程序

  1. #include<stdio.h>  
  2. void main()  
  3. {  
  4.     printf("short: %d\n",sizeof(short));  
  5.     printf("char: %d\n",sizeof(char));  
  6.     printf("int: %d\n",sizeof(int));  
  7.     printf("long: %d\n",sizeof(long));  
  8.     printf("float: %d\n",sizeof(float));  
  9.     printf("double: %d\n",sizeof(double));  
  10.     printf("long double: %d\n",sizeof(long double));  
  11. }  

运行结果:


2) C++程序

  1. #include <iostream>  
  2. using namespace std;  
  3. int main()  
  4. {  
  5.     cout<<"bool: "<<sizeof(bool)<<endl;  
  6.     cout<<"short: "<<sizeof(short)<<endl;  
  7.     cout<<"char: "<<sizeof(char)<<endl;  
  8.     cout<<"int: "<<sizeof(int)<<endl;  
  9.     cout<<"long: "<<sizeof(long)<<endl;  
  10.     cout<<"float: "<<sizeof(float)<<endl;  
  11.     cout<<"double: "<<sizeof(double)<<endl;  
  12.     cout<<"long double: "<<sizeof(long double)<<endl;  
  13.     return 0;  
  14. }  

运行结果:


3)Java程序

  1. public class Test {       
  2.     public static void main(String args[] ) {  
  3.         System.out.println("byte: "+Byte.SIZE/8);  
  4.         System.out.println("short: "+Short.SIZE/8);  
  5.         System.out.println("char: "+Character.SIZE/8);  
  6.         System.out.println("int: "+Integer.SIZE/8);  
  7.         System.out.println("long: "+Long.SIZE/8);  
  8.         System.out.println("folat: "+Float.SIZE/8);  
  9.         System.out.println("double: "+Double.SIZE/8);  
  10.     }  
  11. }  
 
运行结果:
分享到:
评论

相关推荐

    Oracle基本数据类型存储格式浅析

    《Oracle基本数据类型存储格式详解》 Oracle数据库中,数据类型的存储格式对于数据库的性能和空间利用率至关重要。本文将深入探讨Oracle的字符类型、数字类型、日期类型、ROWID类型和RAW类型的基本数据类型的存储...

    Java实验-基本数据类型及操作

    了解Java中的基本数据类型及其操作是java编程的基础。本实验报告将介绍Java中的基本数据类型、数据类型转换、控制台输入输出方法和对话框输入输出方法。 一、基本数据类型 Java中的基本数据类型包括整型(int)、...

    C++ 基本数据类型

    ### C++基本数据类型 在C++编程语言中,了解并掌握基本的数据类型是学习的基础。这些数据类型为程序员提供了创建变量、存储不同种类的信息的能力。本文将详细解析C++中的基本数据类型,并探讨它们的特点及用途。 #...

    Java基本数据类型

    本文将详细介绍Java中的基本数据类型,包括它们的定义、范围、存储空间以及如何在实际开发中正确使用这些类型。 #### 二、基本数据类型概述 Java的基本数据类型主要包括整型、浮点型、字符型和布尔型。每种类型的...

    1.2编程基础之变量定义赋值及转换(10题)

    2018/07/20 周五 13:23 176 03其他基本数据类型存储空间大小.cpp 2018/07/20 周五 13:23 476 04填空:类型转换1.cpp 2018/07/20 周五 13:23 175 05填空:类型转换2.cpp 2018/07/20 周五 13:22 225 06浮点数相零舍入....

    oracle基本数据类型存储格式浅析.pdf

    ### Oracle基本数据类型存储格式浅析 —— 字符类型 #### 概述 在Oracle数据库中,字符类型是非常常见的数据类型之一,它主要用于存储文本信息。本文将详细探讨Oracle数据库中几种基本字符类型的存储格式,包括`...

    易语言自定义数据类型的内存存储方式

    首先,我们要理解易语言中的基本数据类型,如整型、浮点型、字符串等,它们在内存中都有固定大小的存储空间。例如,整型通常占用4个字节,浮点型占用8个字节,字符串则按照实际字符数量加上结束符占用内存。这些基本...

    C++语言概述 数据的输入与输出 基本数据类型和表达式

    基本数据类型的特点是可以用来存储具体的值,例如整型可以存储整数值,字符型可以存储字符值,实型可以存储浮点数值等。基本数据类型的取值范围也不同,例如short int的取值范围是-32768到32767之间,int的取值范围...

    算法-其他数据类型存储空间大小(信息学奥赛一本通-T1018)(包含源程序).rar

    在信息学奥赛中,了解各种数据类型存储空间的大小是非常关键的知识点,尤其是在优化算法和内存管理时。本文将详细探讨这个问题,并结合提供的源程序进行深入解析。 首先,我们来了解一下基本的数据类型及其通常在...

    vb.net初学者系列【VB.NET中的基本数据类型】

    以下是VB.NET中的一些主要基本数据类型,包括它们的存储空间、取值范围以及适用场景: 1. **Byte(字节型)**: - 存储空间:1个字节 - 取值范围:0到255(无符号整数) - 应用:通常用于存储小范围的整数或颜色...

    数据结构的基本概念和术语抽象数据类型的表示与实现算法及算法设计要求第四课:算法效率的度量和存储空间需求

    第二课:抽象数据类型的表示与实现 第三课: 第四课:算法效率的度量和存储空间需求 第五课:线性表的类型定义 第六课:线性表的顺序表示和实现 第七课:实验一 线性表的顺序存储实验 第八课:线性表的链式...

    1.2编程基础之变量定义、赋值及转换.zip

    每个类型都有特定的存储空间大小,这在文件"01整型数据类型存储空间大小.cpp"、"02浮点型数据类型存储空间大小.cpp"、"03其他基本数据类型存储空间大小.cpp"和"10Hello, World!的大小.cpp"中有所体现。 接着,我们...

    基本数据类型.zip

    在C++中,这些基本数据类型包括整型、浮点型、字符型和布尔型等,它们通常决定了变量可以存储的数据范围和精度。让我们深入探讨一下这些基本数据类型。 1. 整型(Integer Types): - `char`: 通常占用1个字节(8...

    C++基本数据类型和表达式ppt课件.ppt

    "C++基本数据类型和表达式" C++基本数据类型是指在C++语言中可以使用的基本数据类型,包括整型、字符型、实型、结构体、联合体、枚举体、类、数组、指针、空类型等。 1. 整型(Integer Type) 整型是C++语言中最...

    Java程序设计基础:基本数据类型.pptx

    基本数据类型 目录 课程导入 掌握Java基本数据类型 掌握直接量的表示 计算机的基本作用就是做运算。运算的数据可以由用户输入、从文件获得。 我们可以把数据进行归类,整数、小数、一串字符、单个字符。 数据类型 ...

    SQL2005 数据类型

    ### SQL2005 数据类型详解 ...正确选择数据类型对于确保数据的准确性、提高查询性能和节省存储空间至关重要。开发者和数据库管理员应根据具体的应用场景和数据特性,合理选择和使用这些数据类型。

    数据结构设计中几个基本数据存储类型.pdf

    文档通过深入分析四种基本数据存储类型,探讨了它们在数据结构设计中的作用以及如何根据数据结构的特点选择最合适的存储类型。每个存储类型都有其特定的应用场景,而对这些存储类型的深入理解对于高效设计数据结构和...

    Java期末复习资料_第2章_基本数据类型与数组.pdf

    基本数据类型变量存储的是数据本身,而引用类型变量存储的是指向数据的空间地址。本资料针对Java期末复习,深入讲解了基本数据类型、标识符、关键字以及数组的重点难点。 标识符是编程语言中用以标识类名、变量名、...

Global site tag (gtag.js) - Google Analytics