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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jena_wy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值