第2课

1.c/c++ 类型所占字节

 

类型名    大小(byte) 

char       1

short     2

int         4

long      4

float      4

double  8

 

2.cast

 

转换种类            行为                                                                  可行性                    例子 

char->short     因为'A'实际表示为65,所以short变量值为65           总是可行

short->char     正数转换直接去掉高位1个字节,负数转换没定义        有时

int->short        正数与负数的转换都是直接去掉高位2个字节              有时                    i = pow(2,17) - 1, s = i => s = -1;

                                                                                                                     i= - pow(2,31), s = i => s = 0

short->int        正数转换int高位用0填充,负数转换高位用1填充        总是可行                   s = -1, i = s => i = -1

int->float         将按照float的格式进行转换,总是可行                       总是可行

float->int         float太大时不可行,float较小时小数部分被截取          有时

 

cast总结:

              - 空间占用小的类型赋值给空间占用大的类型总是可以正常转换的,相反则不能。

              - int占用4字节共32位,这表明int变量可以表示2的32次方个不同的数字,

                           如果是有符号的那么这个2的32次方个数字的range如下

                                         -1~-231 , 0 , 1~231-1

                           如果是无符号的那么这个2的32次方个数字的range如下

                                         0 , 1~232-1

 

3. float表示法

    1位符号位s | 8位指数exp | 23位小数x

   

     格式  (-1)s * 1.xxxxxxx * 2(exp-127)       

     实例  7.0 = (-1)0 * 1.75 *22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值