【C语言】数据:数据类型关键字

简介: 【C语言】数据:数据类型关键字

       在C语言中,用 int 关键字来表示基本的整数类型。后3 个关键字(long short unsigned )和 C90 新增的 signed 用于提供基本整数类型的变式,例如 unsigned short int long long int char 关键字用于指定字母和其他字符(如:# $ % * )。另外, char 类型也可以表示较小的整数。float、double 和 long double 表示带小数点的数。 _Bool 类型表示布尔值(true false ), _Complex _Imaginary 分别表示复数和虚数。

通过这些关键字创建的类型,按计算机的储存方式可分为两大基本类型:整数类型和浮点数类型。

【位、字节和字】

位、字节和字是描述计算机数据单元或存储单元的术语。这里主要指存储单元。

       最小的存储单元是位(bit),可以储存 0 或 1。位是计算机内存的基本构建块。

       字节(byte)是常用的计算机存储单位。对于几乎所有的机器,1字节均为8位。这是字节的标准定义,至少在衡量存储单位时是这样。既然 1 位可以表示 0 或 1,那么 8 位字节就有 256(2 的 8 次方)种可能的 0、1 的组合。通过二进制编码(仅用 0 和 1 便可表示数字),便可表示 0~255 的整数或一组字符。

       字(word)是设计计算机时给定的自然存储单位。

一、整数

在 C语言中,整数是没有小数部分的数。

       例如,9、 −73  和 3846   都是整数。而  3.14 、 0.44  和 7 .000  都不是整数。计算机以二进制数字储存整数,例如,整数 7  以二进制写是  111 。因此,要在  8 位字节中储存该数字,需要把前5 位都设置成 0 ,后 3 位设置成 1。

二、浮点数

       2.75、 3.16E7 、 7.00 和 2e-8 都是浮点数。注意,在一个值后面加上一个小数点,该值就成为一个浮点值。所以,7 是整数, 7.00 是浮点数。书写浮点数有多种形式。 这里对 e  记数法作简要介绍:3.16E7 表示 3.16×107 ( 3.16 乘以 10 的 7 次方)。其中,10^7 =10000000 , 7  被称为  10 的指数。关键要理解浮点数和整数的储存方案不同。计算机把浮点数分成小数部分和指数部分来表示,而且分开储存这两部分。因此,虽然 7.00  和  7  在数值上相同,但是它们的储存方式不同。在十进制下,可以把 7.0  写成  0.7E1 。这里, 0.7  是小数部分, 1 是指数部分。当然,计算机在内部使用二进制和  2  的幂进行储存,而不是 10  的幂。

       整数没有小数部分,浮点数有小数部分。浮点数可以表示的范围比整数大。

       对于一些算术运算(如,两个很大的数相减),浮点数损失的精度更多。

以浮点格式(十进制)储存π的值:

后面将会对精度的相关内容做进一步的介绍。


相关文章
|
15天前
|
网络协议 算法 C语言
C语言在网络编程中如何实现数据完整性
C语言在网络编程中如何实现数据完整性
22 0
|
1天前
|
存储 小程序 编译器
【C语言基础】:数据在内存中的存储
【C语言基础】:数据在内存中的存储
TU^
|
1天前
|
存储 编译器 C语言
C语言之数据类型和变量
C语言之数据类型和变量
TU^
5 0
|
9天前
|
存储 编译器 C语言
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)二
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)二
11 0
|
9天前
|
存储 编译器 C语言
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)一
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)一
19 2
|
12天前
|
存储 编译器 数据库
【再识C进阶5(上)】详细介绍C语言文件操作——文件是用于存储数据
【再识C进阶5(上)】详细介绍C语言文件操作——文件是用于存储数据
|
17天前
|
存储 程序员 编译器
C语言的数据类型
C语言的数据类型
22 0
|
17天前
|
存储 C语言
C语言中的数据输入输出
C语言中的数据输入输出
18 0
|
17天前
|
存储 C语言
深入解析C语言的动态数据类型单项链表技术
深入解析C语言的动态数据类型单项链表技术
19 0
|
17天前
|
存储 C语言 索引
从C语言的基本数据类型到抽象数据类型的探索
从C语言的基本数据类型到抽象数据类型的探索
19 0