转自:http://blog.csdn.net/shuishanga/article/details/7313512#

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程序

 #include<stdio.h>
void main()
{  printf("short: %d\n",sizeof(short));  printf("char: %d\n",sizeof(char));  printf("int: %d\n",sizeof(int));  printf("long: %d\n",sizeof(long));  printf("float: %d\n",sizeof(float));  printf("double: %d\n",sizeof(double));  printf("long double: %d\n",sizeof(long double));
}  

运行结果:

2) C++程序

#include <iostream>
using namespace std;
int main()
{  cout<<"bool: "<<sizeof(bool)<<endl;  cout<<"short: "<<sizeof(short)<<endl;  cout<<"char: "<<sizeof(char)<<endl;  cout<<"int: "<<sizeof(int)<<endl;  cout<<"long: "<<sizeof(long)<<endl;  cout<<"float: "<<sizeof(float)<<endl;  cout<<"double: "<<sizeof(double)<<endl;  cout<<"long double: "<<sizeof(long double)<<endl;  return 0;
}  

运行结果:

3)Java程序

public class Test {       public static void main(String args[] ) {  System.out.println("byte: "+Byte.SIZE/8);  System.out.println("short: "+Short.SIZE/8);  System.out.println("char: "+Character.SIZE/8);  System.out.println("int: "+Integer.SIZE/8);  System.out.println("long: "+Long.SIZE/8);  System.out.println("folat: "+Float.SIZE/8);  System.out.println("double: "+Double.SIZE/8);  }
}  

运行结果:

转载于:https://www.cnblogs.com/zhangxiaosong/p/3322582.html

基本数据类型存储空间相关推荐

  1. 信息学奥赛一本通 1018:其他数据类型存储空间大小 | OpenJudge NOI 1.2 03

    [题目链接] ybt 1018:其他数据类型存储空间大小 OpenJudge NOI 1.2 03:其他基本数据类型存储空间大小 [题目考点] sizeof运算符 sizeof可以求某常量.变量或类型 ...

  2. 信息学奥赛一本通 1017:浮点型数据类型存储空间大小 | OpenJudge NOI 1.2 02

    [题目链接] ybt 1017:浮点型数据类型存储空间大小 OpenJudge NOI 1.2 02:浮点型数据类型存储空间大小 [题目考点] 1. sizeof运算符 sizeof可以求某常量.变量 ...

  3. 信息学奥赛一本通 1016:整型数据类型存储空间大小 | OpenJudge NOI 1.2 01

    [题目链接] ybt 1016:整型数据类型存储空间大小 OpenJudge NOI 1.2 01:整型数据类型存储空间大小 [题目考点] 1. sizeof运算符 sizeof可以求某常量.变量或类 ...

  4. 信息学奥赛一本通(1018:其他数据类型存储空间大小)

    1018:其他数据类型存储空间大小 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 36770     通过数: 31958 [题目描述] 分别定义bool,cha ...

  5. 信息学奥赛一本通(1017:浮点型数据类型存储空间大小)

    1017:浮点型数据类型存储空间大小 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 40826     通过数: 32913 [题目描述] 分别定义float,d ...

  6. 信息学奥赛一本通(1016:整型数据类型存储空间大小)

    1016:整型数据类型存储空间大小 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 50393     通过数: 34940 [题目描述] 分别定义int,shor ...

  7. 1017:浮点型数据类型存储空间大小

    1017:浮点型数据类型存储空间大小 时间限制: 1000 ms 内存限制: 65536 KB [题目描述] 分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节 ...

  8. NOI-1.2(01) 整型数据类型存储空间大小

    01:整型数据类型存储空间大小 描述 分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节). 输入 无. 输出 一行,两个整数,分别是两个变量的存储空间大小,用一个空 ...

  9. NOI-1.2(02) 浮点型数据类型存储空间大小

    02:浮点型数据类型存储空间大小 描述 分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节). 输入 无. 输出 一行,两个整数,分别是两个变量的存储空间大小, ...

最新文章

  1. Metro Win8风格的按钮(Filp翻转)
  2. Hibernate一级缓存常用API
  3. 行业指数动量策略+akshare
  4. 55个好习惯可令世界更美好(2)
  5. 用Log Explorer恢复数据的基本操作
  6. C# XML文件读取
  7. 如何运用大数据舆情监测分析软件监测分析舆情的方法技巧
  8. Win10 安装 .NetFramework 4.7 (SourceTree)
  9. 获取百度网盘提取码的两种方法
  10. android手机运行win10,兼容安卓 Win10手机竟然能直接运行APK
  11. js获取h5链接中的参数(亲测可用)
  12. go的内存管理和内存逃逸
  13. 新浪微博分享链接+图片
  14. opencv 基于ORB特征点图像拼接
  15. 《平衡掌控者 游戏数值战斗设计》学习笔记(五)物品掉落
  16. go mod查看包依赖关系
  17. 用python制作田字格_2分钟学会在Word中制作田字格 米字格 书法练字再也不用买本子了...
  18. dz安装教程php,DZ论坛网站安装,设置步骤
  19. 获取日期的时间戳问题、前端倒计时不准问题
  20. 如何让网页上的失效图片,显示默认缺省图片

热门文章

  1. 由java的八个基本数据类型说开去
  2. json对象数组按对象属性排序
  3. unity3d 随机生成地形之随机山脉
  4. 实验五 操作系统之存储管理
  5. Java Tread多线程(0)一个简单的多线程实例
  6. SolrCloud zookeeper节点信息
  7. mac 环境变量设置
  8. mysqlperformanceblog
  9. 07-11 Linux命令操作
  10. Linux中搭建一个ftp服务器详解