数据类型(基本三类型)

此外数据又分为以下几大类型:

  1. 1.    整型:

int型:4字节(VC++中是4字节,Turbo是2字节),-2147473648~2147483647

( -231 ~ 231-1 )

short型:2字节,-32768~32767(-215 ~ 215-1)

long型:4字节,-2147473648~2147483647( -231 ~ 231-1 ).

long long型:8字节,-263~(263-1)

此外还有无符号(unsigned)整型,长度与有符号整型相同,只是取值范围不同,因为最左一位符号位在无符号整型中属于数值位

对应长度为:

         Unsigned int:0~232-1

         Unsigned short:0~216-1

         … …

 

 

整型在存储单元中的存储方式:用整数的补码存放。(补码:正数的补码与正数相同,负数的补码是将负数的数值位取反再末尾加1

 

疑问一:若向一个无符号整型变量赋值一个负数(-1),输出结果是多少?为什么?

 

答:65535。因为系统对-1先会转化成补码的形式(-1的补码为1111 1111)然后存储在无符号整型变量中。但是在输出时,符号位的1被看作了数值位,正好1111 1111对应的十进制数位65535,则输出65535.

 

 

  1. 2.    实型(浮点型)

浮点型数据是用来表示具有小数点的实数的.

实数是以指数的形式存放在存储单元中的(在存储时,系统将实型数据分成小数部分和指数部分分别存放).

 

float型:4字节(6位有效数字)

double型:8字节(15位)

long double型:8字节或16字节(15位或19位)

 

 

  1. 3.    字符型

字符是按其整数(字符的ASCII码)形式存储的。

只占一个字节长度

 

常见的有:

‘a’ 的ASCII码是十进制数97,二进制代码为110001

‘A’ 的ASCII码是十进制数65,二进制代码为1000001

‘1’ 的ASCII码是十进制数49,二进制代码为0110001

‘  ’(空格)的ASCII码十进制数为32,二进制代码为0100000

… …

 

疑问:定义char c = ‘a’;输出形式为 %d 和 %c 时的结果是什么?为什么?

 

答:97    a          因为%d表示输出其十进制整数形式,而%c表示输出其字符形式

 

posted @ 2019-05-05 20:57  rookieClimber  阅读(12891)  评论(0编辑  收藏  举报