计算机语言之基础数据类型

简介: 计算机语言之基础数据类型

一、类型

英文表达是Type或者Pattern指包含由各特殊的事物或现象抽出来的共通点的抽象概念。是逻辑演算中关于主目的不可兼的分类谱系之一。具有共同特征的事物所形成的种类。它和类别的差异是:类型强调共同性,类别强调差异性。广义的类型一般被定义为一种约束,也就是一种逻辑公式。类型被认为是一系列满足确定约束条件的元素,更抽象的方式可以把一个类型当作规定一个约束条件,如果我们规定的约束条件越好,相对应的被定义元素的集合就越精密,所以逻辑公式(logical formulas)就成为描述类型特征的最合适工具。对任何事物进行分类,在特定环境下,应该只有一种标准,也就是约束条件要清晰明朗且要少。


二、数据类型

在《什么是数据》我们大致明白了什么是数据,那么数据类型就是对数据分类,根据我们今天谈的主题,按照一个标准,就是是否计算机处理的数据,我们可以分为计算机处理的数据和非计算机处理的数据两种类型。


三、计算机里的基础数据类型

就是对计算机系统存储和处理的数据根据计算机的存储特性来进行分类,在计算机的世界里,数据类型就是在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称。。计算机里的数据有哪些特性呢:首先是数据是用二进制保存,其次是有长度限制,然后才是加上语义上的信息,那么根据这些特征来进行分类,计算机里的基础数据类型包括:字节、字、双字、布尔值、数值、字符等。


3.1、纯二进制数据类型

字节(byte)

对就是用二进制的的单位Byte作为了数据类型的名称,表示一个长度为8bit的二进制数据,范围0x00—0xFF,具体语义要根据使用场景来确定。

字(word)

也是用二进制的的单位word作为了数据类型的名称,表示一个长度为16bit的二进制数据,范围0x0000—0xFFFF,具体语义要根据使用场景来确定。

双字(dword)

也是用二进制的的单位dword作为了数据类型的名称,表示一个长度为32bit的二进制数据,范围0x00000000—0xFFFFFFFF,具体语义要根据使用场景来确定。

布尔值(bool)

占用8bit,表达逻辑上的真和假,取值范围(0,1)

这些数据类型通常没有明确的语义,需要在具体的使用场景才有具体的语义,比如我们在Windows系统里编程时,经常用到的一些标识数据,每一个位代表的意思不一样。


3.2、编码数据类型

除了上面的纯二进制数据类型外,还有一些基础数据类型是需要人为编码后,才能被计算机识别和处理的数据,比如数值和字符文本。这类数据在任何情况下它们的语义都是清晰明了唯一的。


3.2.1、数值型

对应了实数里的所有的类型:整数,有理数、无理数。在计算机里,数值根据计算机系统特征分了很多类型。整数包括了:整形、长整形、短整形,实数包括了:单精度浮点型和双精度浮点型。


整数:不包含小数部分的数值型数据,用字母I表示。整型数据只用来表示整数,以二进制形式存储。


整形

长度是32bit,有符号的表示范围-2147483648~2147483648,无符号表示的范围0~4294967295

长整形

跟整形一样,只是长度是整形2倍,是64bit ,表示的整数范围大很多,有符号的表示范围-9223372036854775808 ~9223372036854775807,无符号表示的范围0~1844674407370955161

短整形

跟整形一样,只是长度是整形0.5倍,是16bit ,表示的整数范围小很多,有符号的表示范围-3276832767,无符号表示的范围065535

实数:在计算机系统的发展过程中,曾经提出过多种方法表示实数,但是到目前为止使用最广泛的是浮点表示法。相对于定点数而言,浮点数利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。


单精度浮点数

单精度浮点型专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。其数值范围为-3.4E38~3.4E38

双精度浮点数

占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如sin( ),cos( ) ,tan()和sqrt( )均返回双精度的值。当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。其可以表示的数字的绝对值范围大约是:1.7E-308~1.7E+308

3.2.2、字符(char)

字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。字符是电子计算机或无线电通信中字母、数字、符号的统称,其是数据结构中最小的数据存取单位,是计算机中经常用到的二进制编码形式,也是计算机中最常用到的信息形式。不同国家、民族和地区都有自己的符号系统,计算机系统要想表达这些符号,就必须对这些符号进行二进制的编码。根据符号编码的不同,字符的长度就不同。计算机常用的就是ASCII码,主要用来表示英文世界的常见符号,一个字符占用8bit长度,而中文字符常用编码是GBK,一个中文字符占用16bit。


数据类型分为两种:

基本数据类型:

整数:byte(一个字节)、short(两个字节)、int(四个字节)、long(八个字节)

浮点数:float(单精度,四个字节)、double(双精度、八个字节)

字符:char(两个字节)

布尔:boolean(一个字节,true、false)

引用数据类型:类、接口、数据。


总之,在计算机系统里,通过对这些基本数据的使用、组合可以表达对整个宇宙的描述和模拟,构成了现在丰富的计算机世界。对程序员来讲,要善于使用不同的编程语言和数据结构来使用和组合这些基础数据类型,完成我们构建世界的使命。


目录
打赏
0
0
0
0
0
分享
相关文章
【c语言】基础数据类型
这篇内容介绍了编程中的数据类型,主要包括常量和变量。常量分为整型、实型(浮点型)、字符型和字符串型。
73 0
【c语言】轻松拿捏自定义类型
本文介绍了C语言中的三种自定义类型:结构体、联合体和枚举类型。结构体可以包含多个不同类型的成员,支持自引用和内存对齐。联合体的所有成员共享同一块内存,适用于判断机器的大小端。枚举类型用于列举固定值,增加代码的可读性和安全性。文中详细讲解了每种类型的声明、特点和使用方法,并提供了示例代码。
27 3
|
7月前
|
Java面向对象编程:基本数据类型与引用数据类型
Java面向对象编程:基本数据类型与引用数据类型
67 1
从C语言的基本数据类型到抽象数据类型的探索
从C语言的基本数据类型到抽象数据类型的探索
85 0
【C/C++ 基本数据类型】C++ 基本数据类型深度解析与C语言对比
【C/C++ 基本数据类型】C++ 基本数据类型深度解析与C语言对比
162 0
【C生万物】C语言数据类型、变量和运算符
【C生万物】C语言数据类型、变量和运算符
【C语言】常量的四大护法
了解C语言中的常量的基本概念及常量的四大类型,可以让你打下坚实的C语言基础,加油吧,为了成为更好的自己。
C语言初阶之数据类型
首先在C语言中整型分为int、short、long、long long、float、double、long double、char,最大的特点就是在不同平台或编译器下所分配的内存空间不同,分为32位/64位平台,作者在这主要以64位为例。
C语言编程—数据类型
在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
118 0
AI助理

阿里云 AI 助理已上线!

快来体验一下吧。