计算机编程中各种数据类型的表示形式和计算方法

1.数据类型及其表示形式

(1).基本的内置类型

一般来说最常用的基本数据类型即整型(int),浮点型(float),字符型(char)。

整型:短整型(short int)、基本整型(int)、长整型(long int)、长长整型(long long int)

浮点型:单精度浮点型(float)、双精度浮点型(double)、长双精度浮点型(long double)

注意:默认情况下均为有符号数即signed(有正有负),若为无符号数即只表示正数时,须在类型名前加unsigned,如:unsigned int、unsigned long int
除此以外还有布尔型(bool)ture / false、宽字符型(wchar_t)

(2).构造数据类型

typedef 声明、枚举(enum)、数组、字符串、引用、结构与联合等

(3).指针数据类型

字符指针、数组指针、多重指针

(4).空类型

void

2.数据类型的计算

基本运算:加+ 、 减- 、 乘* 、除/ 、 取余%
自增自减:++、-- 后置则先取值后运算
关系运算:<、 >、 <= 、>=、 == 、!= 结果为布尔值
逻辑运算:与&& 、或|| 、非!
位运算:一般是机器语言汇编语言使用,按位处理数据
赋值运算:如i=i+1 、i+=1
条件运算:a>b? a:b
逗号运算:a=2,a*3,结果a=6
求字节数运算:sizeof (类型名) 或 sizeof 表达式

类型转换

a. value (typeName)
b. static_cast< typeName >(value)

需要注意:
1.在将大的数据类型转化为小的数据类型时会造成数据丢失
2.在将大的浮点数转化为小的浮点数(如double转化为float)会造成精度的降低
3.浮点类型转化为整型时会造成小数部分的缺失

整型数据类型由小到大排序: bool、 char、 signed char、 unsigned char、 short int、 unsigned short int、 int 、unsigned int、 long int、 unsigned long int、 long long int、 unsigned long long int
浮点数由小到大排序:float、 double、 long double

数值溢出

当变量的数据类型所提供的位数无法适应某个值时,就会发生溢出(上溢)或下溢。就像往水桶里装水,水满则溢,变量也是这样,如果要存储的值超过了变量所能提供的位数,就会出现问题。

尽管某些系统在出现溢出或下溢时会显示错误信息,但大多数情况下是不会显示的。该变量现在只是保存了不正确的值,而程序还是会继续运行。

移位

移位运算包含“逻辑移位”(logical shift)和“算术移位”(arithmetic shift)。
逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。
算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充,所以一般用在右移运算中。

对于无符号数都是逻辑移位:

int i=1;
i=i<<2;//把i的值左移两位

000…001变为000…100

对于有符号数左移还是逻辑移位,而右移是算术移位:
正数的右移
正数的右移操作

发布了3 篇原创文章 · 获赞 2 · 访问量 97

猜你喜欢

转载自blog.csdn.net/qq_45422269/article/details/104356083