简明数据类型指南

  • A+
所属分类:C语言
摘要

下面我们用程序来验证一下:结果如下:问题1:8位、64位到底是什么意思?答:从技术上讲,计算机的位数有多种含义,它既可以代表CPU指令的长度,也可以代表CPU一次从存储器读取数据的大小。实际上,位数是计算机能够处理的数值长度。

[摘要]本文是对简明数据类型指南的讲解,对学习C编程技术有所帮助,与大家分享。

常用的数据类型

    char:字符在计算机的存储器中以字符编码的形式保存,字符编码是一个数字,因此在计算机看来,A与数字65完全一样(65是A的ASCII码)。
    int:如果要保存一个整数,通常可以使用int。不同计算机中的int的大小不同,但至少应该有16位。一般而言,int可以保存几万以内的数字。
    short:它通常只有int的一半大小,所以如果只想保存一个几百、几千的数字,可以使用这个数据类型。
    long:一般大小是int的两倍,至少应该有32位,所以可以保存几十亿以内的数字;但大部分计算机的long和int一样大,因为在这些计算机中int本身就很大。
    float:它是保存浮点数的基本数据类型。
    double:如果想让计算结果精确到小数点以后很多位,可以使用double。double比float多占一倍的空间,可以保存更大,更精确的数字。

程序验证

下面我们用程序来验证一下:

#include<stdio.h>
#include<limits.h>  //还有表示整型大小的值 
#include<float.h>  //含有表示float和double类型大小的值
int main()
{
    printf("The value of INT_MAX is %i/n",INT_MAX);  //int 型最大值 
    printf("The value of INT_MIN is %i/n",INT_MIN);  //int 型最小值
    printf("An int takes %i bytes/n",sizeof(int));  //int所占字节 
    
    printf("The value of FLT_MAX is %f/n",FLT_MAX); //float
    printf("The value of FLT_MIN is %f/n",FLT_MIN);
    printf("An float takes %i bytes/n",sizeof(float));
    
    printf("The value of CHAR_MAX is %i/n",CHAR_MAX); //char
    printf("The value of CHAR_MIN is %i/n",CHAR_MIN);
    printf("An char takes %i bytes/n",sizeof(char));
    
    printf("The value of DBL_MAX is %lf/n",DBL_MAX); //double
    printf("The value of DBL_MIN is %lf/n",DBL_MIN);
    printf("An double takes %i bytes/n",sizeof(double));
    
    printf("The value of SHRT_MAX is %i/n",SHRT_MAX); //short
    printf("The value of SHRT_MIN is %i/n",SHRT_MIN);
    printf("An short takes %i bytes/n",sizeof(short));
    
    return 0;
} 

结果如下:

简明数据类型指南

思考

问题1:8位、64位到底是什么意思?

答:从技术上讲,计算机的位数有多种含义,它既可以代表CPU指令的长度,也可以代表CPU一次从存储器读取数据的大小。实际上,位数是计算机能够处理的数值长度。

问题2:那这和int、double的大小有什么关系?

答:如果一台计算机能处理32位的数值,就会把基本数据类型(例如int)的大小设为32位。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: