计算机的基本数据类型

计算机的基本数据类型


学号 16340225

本人学院

目录


一.储存单位

+位
位(bit)是最小的储存单位。它只可以容纳两个值(0或1之一)。它是计算机储存的基本单位。
+字节
字节(byte)是常用的计算机储存单位。几乎对所有机器,一个字节均为8位。一个字节包含 28 种组合。

下图为计算机的储存原理

储存原理

从下表我们可以看到 储存单元的个数1会影响数值范围
数据类型及其范围

二.计算机的基本数据类型

1.整型变量

【signed】
+ short int        说明符%hd
+ int              说明符%d
+ long int         说明符%ld
+ long long int   说明符%lld

【unsigned】
取值范围发生改变 说明符:将signed的说明符中的d改为u即可

(上述说明符都是十进制的 若要改成其他进制,只需将d换成o(八进制)或x(十六进制)即可)

【关于signed与unsigned】
  signed 表示“有符号”。如果指定为signed,则数值以补码的形式存放,存储单元中的最高位(bit)用来表示数值的符号2
  unsigned表示“无符号”。如果指定为unsigned,则数值没有符号,全部二进制位都用来表示数值本身。它不储存负数,而将原本表示为负数的补码都用来表示128~255,使储存正数的范围扩大一倍。

  下面以int_8为例子

signed
signed数轴

unsigned
unsigned数轴

【关于溢出】
  如果整数太大,超出了整数类型的范围,那就会产生溢出。

  以 short int 为例
short int1

short int2

  而这时我们可以在short int前面加个unsigned扩大正数的范围

unsigned1

unsigned运行结果
  就不会发生溢出,可以得出正确的数。

2.字符型

(char类型)说明符%c

【字符常量】
  char类型用于储存字母和标点符号之类的字符,但是在技术实现上char是整数类型,这是因为char类型实际储存的是整数而不是字符。为了处理字符,计算机使用一种数字编码,用特定的整数表示特定的字符。最常用的编码是ASCII码

  下面我们通过一个例子来看看字符的储存原理
char程序1

char程序2

char储存

  可以看出 字符C是以它的ASCII码进行储存的

3.浮点型

  • float        说明符%f
  • double      说明符%lf
  • long double 说明符%Lf

  (默认情况下,编译器将浮点常量当作double类型。我们可以通过f或F后缀使编译器把浮点常量当作float类型)

【两种方式显示浮点数】

两种方法显示浮点数

通过改变说明符来实现

NaN
  NaN,是Not a Number的缩写,在IEEE浮点数算术标准(IEEE 754)中定义,表示一些特殊数值(无穷与非数值(NaN)),为许多CPU与浮点运算器所采用。

4.布尔型

  布尔型的值只有两个:false(假)和 true(真)。且false的序号为0,true的序号是1。



  1. 由于机器的不同,一些数据类型所占的字节可能有所不同,这时可以用sizeof来查看某些数据类型所占字节
  2. 如何用二进制表示负整数
    I的负数为 Negative(I)=2kI kI 的位数(例如8、16……)
    二进制的负数也等于 I 的 反码+1(即, I1

猜你喜欢

转载自blog.csdn.net/junischuma/article/details/52740850