【C语言】数据类型以及取值范围

image.png

基本类型

整数类型:
-short int
-int
-long int
-long long int
浮点数类型:
-float
-double
-long double
字符类型:
-char
布尔类型:
-_Bool
枚举类型:
-enum

sizeof运算符

sizeof运算符用于获得数据类型或表达式的长度
-sizeof(object);//sizeof(对象);
-sizeof(type_name);//sizeof(类型);
-sizeof object;//sizeof 对象;

#include<stdio.h>
#include<stdlib.h>
#include <stdbool.h>

int main(){
    int i;
    char j;
    float k;

    i=123;
    j='c';
    k=3.14;
    
    printf("size of int is %d\n",sizeof(int));
    printf("size of i is %d\n",sizeof(i));
    printf("size of char is %d\n",sizeof(char));
    printf("size of j is %d\n",sizeof(j));
    printf("size of float is %d\n",sizeof(float));
    printf("size of k is %d\n",sizeof(k));

    //接下来让我们看看基本数据类型所占的字符的大小
    printf("基本数据类型所占字符大小:\n");
    printf("size of int is %d\n",sizeof(int));
    printf("size of short is %d\n",sizeof(short));
    printf("size of long is %d\n",sizeof(long));
    printf("size of long long is %d\n",sizeof(long long));
    printf("size of char is %d\n",sizeof(char));
    printf("size of _Bool is %d\n",sizeof(_Bool));//由于C编译不支持布尔型,导入头文件#include <stdbool.h>即可
    printf("size of float is %d\n",sizeof(float));
    printf("size of double is %d\n",sizeof(double));
    printf("size of long double is %d\n",sizeof(long double));

    system("pause");
    return 0;
}
image.png

【该例遇到了两个问题:
1.输入 _Bool 时显示未定义标识符 Bool 。解决办法:导入头文件#include <stdbool.h>
2.运行结果中文显示乱码。 解决办法:VsCode编写C语言时默认代码格式位utf-8,右下角将代码格式通过编码保存味gbk即可。

取值范围

比特位:CPU能读懂的最小单位 -bit b
字节:内存机构的最小寻址单位 -Byte B
1Byte==8bit
1个字节可以表示多大的数:11111111=255

进制

image.png

二进制——>十进制:2的n次方减一(n为1的个数)

符号位

signed和unsigned

signed表示该符号位可以存放带符号的数据。
unsigned表示该符号位存放不带符号的数据。
默认情况下为signed
-存放signed类型的存储单元中,左边第一位表示符号位。如果该位为0,表示该整数是一个整数,如果该位为1,表示该整数是一个负数。
-一个32位的整型变量,除去左边第一位符号位,剩下表示值的只有31个比特位。
-事实上计算机是用补码的形式来存放整数的值。

补码

1正数的补码是该数的二进制形式
2.负数的补码需要通过以下几步获得:
-先取得该数得绝对值的二进制形式。
-再将第一步所得的值按位取反。
-最后将第二步的值加1.


image.png

最大值和最小值


image.png

虽然补码看起来很麻烦,但是既然使用它就说明他还是有好处的。

基本数据类型的取值范围

image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容