0
点赞
收藏
分享

微信扫一扫

c语言数据类型

cnlinkchina 2022-01-13 阅读 72
c++

C90之前关键字

C90关键字

C99关键字

int

signed

_Bool

long

void

_Complex

short

_Imaginary

unsigned

char

float

double

1、数据类型表

类型范围:

unsigned short 0~65535

unsigned int 0~4292967295

unsigned long long 0~18446744073709551615

short不会比int长,long不会比int短。虽然我们常用的PC上long和int是4,short是2,但是在好多机子不一定是这样的,但都满足short,int,long长度原则。

//因为计算机是补码存储,

void main()

{

         char a=0xff;

         printf("%d\n",a);  //打印结果是-1,一个字节最大的负数

         char a=0x80;

         printf("%d\n",a);  //打印结果是-128,一个字节最小负数

}

e7即10的7次方,即1后面7个0

2的10次方,在二进制中,即1后面10个0,即2^10=10000000000b=1024

2、float和double类型:

double类型的升级类型:long double类型不少于double的精度

float的有效数字为:6

win10的vs2010中float有效数:8个有效值,double是17个有效值

float在内存的存储位置

符号位

指数

尾数

1位

8位

23位

指数:指数部分的存储采用移位存储,存储的数据为元数据 +127,指数范围为-127~128

7.0的内存值为:1088421888   = 0100 0000 1110 0000 0000 0000 0000 0000

符号位

指数

尾数

0

100 0000 1=129

11=3

由于尾数是11,所以二进制的科学计数为:1.11*2^指数,指数=129-127=2.

所以1088421888代表的浮点的值是:1.11*2^2 = 111=7.

1.xxx,其中xxx是尾数,1并不存储

3、八进制和十六进制

十六进制前缀:0x ,八进制前缀:0

十六进制输出:%x,%X,%#x,%#X , 八进制输出:%o,%#o

转义字符:八进制和十六进制转义字符:’\102’和’\x42’是字符‘B’

给一个变量赋值:=,scanf,初始化

举报

相关推荐

0 条评论