• 类型转换


    1,当我们把一个非布尔类型的算术变量赋给布尔类型时,初始值为0则结果为false,否者结果为true.

    1 if(0){// false
    2 }
    3 if(-1){// true
    4 }
    5 if(1){// true
    6 }
    7 // 总结:非0即真

    2.当我们把一个布尔值赋给非布尔值时,初始值为false则结果为0,初始值为true则结果为1.

    1 int a=false;// 0
    2 int b=true;// 1

    3.当我们把一个浮点数赋值给整数类型时,进行了近似处理.结果值将仅保留浮点数中小数点之前的部分.

     1 int i = 3.14;// 3 

    4. 当我们把一个整数值赋给浮点类型时,小数部分记为0.如果该整数所占的空间超过了浮点类型的常量,精度可能有损失.

     1 double i = 2;// i = 2.0 

    5.当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数.

     1 unsigned char ch = -100;// -100%256=156 

    6.当我们赋给带符号类型一个超出它表示的范围的值时,结果是未定义的.此时,程序可能继续工作,可能崩溃,也可能生成垃圾数据.

     1 signed char c = 256// 未定义,访问可能要出错 

    7.含有无符号类型的表达式时,先把其他变量转换(转换过程与第5点类似)为无符号类型,然后进行运算.注意当两个无符号类型的

    相减时永远不为负.

    1 unsigned int u = 10;
    2 int i = -42;// 32位
    3 cout<< u+i<<endl;// -42%2^32=4294967254+10 = 4294967264
    4 unsigned int u1 = 42,u2 =10; 5 cout<< u1-u2<<endl;// 32 6 cout<< u2-u1<<endl;// 负数取摸后的值
  • 相关阅读:
    用到了yii2 hasMany() 方法,一对多关联
    jquery操作select标签change事件
    Yii2如何批量添加数据
    [bzoj1497][NOI2006]最大获利
    [bzoj]2962序列操作
    洛谷 P1350 车的放置
    洛谷 P1142 轰炸
    初级数论练习题
    洛谷 P3795 钟氏映射
    洛谷 2953 [USACO09OPEN]牛的数字游戏Cow Digit Game
  • 原文地址:https://www.cnblogs.com/studweijun/p/5277896.html
Copyright © 2020-2023  润新知