C语言的基本数据类型

203 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、整型

按占用内存大小和所能表示的数值范围又可分为短整型、标准整型、长整型、和长长整型,分别用关键字short intintlong intlong long int,表示。

1.二进制、位、字节

内存的最小存储单位为字节(Byte),一个字节有8位(Bit)(即一个字节可以存放8个二进制的“0”或“1”)。 左边为高位,右边为低位,最高位是符号位,(“0”代表正数,“1”代表负数)剩下的就是数据位。 一个字节8位所能表示的取值范围从-128(1000 0000)~127(0111 1111),共256个。 两个字节16位所能表示的取值范围从-32768(1000 0000 0000 0000)~32767(0111 1111 1111 1111),共65536个。 根据不同的数值大小,使用不同大小字节的内存空间,既不浪费内存空间,又能放得下相应的数值,真正做到“物尽其用”。

类型关键字占用内存取值范围
短整型short int2字节-32768~32767
标准整型int4字节-2147483648~2147483647
长整型long int4字节-2147483648~2147483647
长长整型long long int8字节-9223372036854775808~9223372036854775807

2.无符号整型

对于这种没有符号位,全是数据位的整数类型,我们称之为无符号整型,它的关键字为unsigned。之前所讲的四种整型类型都是有符号整型,它们也有个关键字signed,不过通常不用写,也就是默认的整型就是有符号的,若想使用无符号的整型,前面加上unsigned关键字即可。

类型关键字占用内存取值范围
无符号短整型unsigned short int2字节0~65535
无符号标准整型unsigned int4字节0~4294967295
无符号长整型unsigned long int4字节0~4294967295
无符号长长整型unsigned long long int8字节0~18446744073709551615

二、实型

C语言把这种带小数点的数值类型称为实型浮点数类型。虽然实型与整型只有一字之差,但它确有和整型完全不同的内存存储方式。 实型分为三段进行存储的:符号位、阶码位、数据位

在这里插入图片描述

实型的内存大小和取值范围

类型关键字占用内存精度取值范围
单精度浮点数类型float4字节6~7位有效数字-3.402823E+038~3.402823E+038
双精度浮点数类型double8字节15~16位有效数字-1.797693E+308~1.797693E+308

三、字符型

字符型关键词为char,字符型就是一个字节的整型。 最初C语言规定将一字节的整型作为字符来使用,更确切地说,是将0~127这128个正整数作为字符使用,这就是大名鼎鼎的ASCII码(美国信息交换标准代码)。 字符型内存大小和取值范围

类型关键字占用内存取值范围
字符型char1字节-128~127
无符号字符型unsigned char1字节0~255