zoukankan      html  css  js  c++  java
  • 类型转换

    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;// 负数取摸后的值
  • 相关阅读:
    ACM HDU 3910 Liang Guo Sha(数学题,读懂题目)
    防止 7Zip 生成的 ZIP 文件在 Mac OS X 下出现乱码
    NYOJ 506
    Scanner
    String 与StringBuilder
    基于JAVA的聊天室开发
    PS加粗字体
    MySQL相关命令
    Matlab中数据处理和多项式插值与曲线拟合
    dos下进入某一文件
  • 原文地址:https://www.cnblogs.com/studweijun/p/5277896.html
Copyright © 2011-2022 走看看