Fork me on GitHub

Siki的虚幻第一季

空项目、一闪而过的解决方法

Image(4)

命名空间std::cout的作用:

Image(5)

int ,long , long long类型的范围

unsigned   int   0~4294967295 

int   2147483648~2147483647

unsigned long 0~4294967295

long   2147483648~2147483647

long long的最大值:9223372036854775807

long long的最小值:-9223372036854775808

unsigned long long的最大值:18446744073709551615

__int64的最大值:9223372036854775807

__int64的最小值:-9223372036854775808

unsigned __int64的最大值:18446744073709551615

float与double的范围和精度

1 范围

float和double的范围是由指数的位数来决定的。

float的指数位有8位,而double的指数位有11位,分布如下:

float:

1bit(符号位)

8bits(指数位)

23bits(尾数位)

double:

1bit(符号位)

11bits(指数位)

52bits(尾数位)

于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。

float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。

2 精度

float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。

float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;

double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。

Image(6)

Image(7)

1,if语句

if(){

}else if(){

}else if(){

}else{

}

2,switch语句

switch(){

  case 表达式:

  语句1;

  break;

  case 表达式:

  语句2;

  break;

  default:

}

Image(8)

1、while循环

  while(表达式){

  循环体;

  }

2、do while循环

  do{

  循环体;

  }while(表达式);

3、for循环

  for(表达式1;表达式2;表达式3){

  循环体;

  }

4、循环控制

  break语句

  continue语句

Image(9)

getline(cin,l)    //获取整行输入的效果

Image(10)

结构体:

Image(11)

Image(12)

Image(13)

Image(14)

Image(15)

posted @ 2017-12-26 15:25  hankangwen  阅读(367)  评论(0编辑  收藏  举报