C语言提供
两大系列的
多种数据类型。
两大数据类型是
整数类型和
浮点数类型。
1、位、字节和字
位、字节和字是描述计算机数据单元或存储单元的术语。
| 序号 | 类型 | 描述 |
|---|---|---|
| 1 | 位(bit) | 最小的存储单元,可以储存0或1 |
| 2 | 字节(byte) | 常用的计算机存储单位。对于几乎所有的机器, 1字节均为8位 |
| 3 | 字(word) | 设计计算机时给定的自然存储单位 |
个人计算机字长增至32位,64位。计算机的字长越大,其数据转移越快,允许的内存访问也更多。
2、整数类型
C语言用int关键字来表示基本的整数类型。int类型被认为是计算机处理整数类型时最高效的类型。
int类型是有符号整型,即int类型的值必须是整数,可以是正整数、负整数或零。
C语言只规定了short占用的存储空间不能多于int,long占用的存储空间不能少于int。
这样规定是为了适应不同的机器。目前的个人计算机一般是32位,因此用32位储存一个int值。
| 序号 | 类型 | 存储大小 | 值范围 |
|---|---|---|---|
| 1 | char | 1字节 | -128到127 |
| 2 | unsigned char | 1字节 | 0到255 |
| 3 | int | (1)2字节(2) 4字节 | (1)-32,728到32,767 (2) -2,147,483,648到2,147,483,647 |
| 4 | unsigned int | (1)2字节(2) 4字节 | (1)0到65,535 (2) 0到4,294,967,295 |
| 5 | short | 2字节 | -32,728到32,767 |
| 6 | unsigned int | 2字节 | 0到65,535 |
| 7 | long | 4字节 | -2,147,483,648到2,147,483,647 |
| 8 | unsigned long | 4字节 | 0到4,294,967,295 |
| 9 | long long | 8字节 | - |
| 10 | unsigned long long | 8字节 | - |
x86运行以下代码的结果:
#include <stdio.h>
#include <string.h>
void main()
{
printf("sizeof(int) = %d\n", sizeof(int)); //4
printf("sizeof(float) = %d\n", sizeof(float)); //4
printf("sizeof(double) = %d\n", sizeof(double));//8
}
3、浮点类型
C语言的浮点类型有float、double和long double类型。
C标准规定,float类型必须至少能表示6位有效数字,且取值范围至少是10^-37 ~ 10^+37 。
(1)float类型的格式,1位符号,8位指数,23位小数:

(2) double类型的格式,1位符号,11位指数,52位小数:

| 序号 | 类型 | 存储大小 | 值范围 | 精度 |
|---|---|---|---|---|
| 1 | float | 4字节 | 1.2E-38到3.4E+38 | 6位小数 |
| 2 | double | 8字节 | 2.3E-308到1.7E+308 | 15位小数 |
| 3 | long double | 16字节 | 3.4E-4932到1.1E+4932 | 19位小数 |
本文深入探讨C语言中的数据类型,包括位、字节、字的概念,详细解析整数类型如int、long、float和double的存储大小及值范围,以及浮点数类型的精度和格式。
&spm=1001.2101.3001.5002&articleId=90183706&d=1&t=3&u=04f10e2ad15646a6936e7b5d1286824a)
437

被折叠的 条评论
为什么被折叠?



