算术运算时,操作数类型不匹配产生的陷阱

原创 2006年05月16日 21:47:00

环境:SUN 5.9  WS4.2

    unsigned int i=1;

    if(i < -1)
        printf("1 < -1/n");
    else
        printf("1 > -1/n");

结果:
# 1 < -1

 

    unsigned int i=1;

    if((int)i < -1)
        printf("1 < -1/n");
    else
        printf("1 > -1/n");

结果:
# 1 > -1

 

    (-1 < (unsigned)1)?printf("1 > -1/n"):printf("1 < -1/n");
结果:
# 1 < -1

相关文章推荐

java基础之一 类型、算术运算和控制语句

一,类型划分1.基本类型数值类型:byte:1个字节 short:2个字节 int:4个字节 long:8个字节浮点类型:float:4个字节,32位码 double:8个字节,64位码字符类型:ch...

[PowerShell入门]变量、赋值、算术运算、类型转换、数组、注释

介绍PowerShell中的变量、赋值、算术运算、类型转换、数组和注释

C编译器剖析_6.3.2 汇编代码生成_为算术运算产生汇编代码

6.3.2  由EmitAssign函数产生算术运算的汇编代码    在这一小节中,我们要讨论的中间指令形如“t1: a+b;”或者“t2:&number”,这些指令用于进行一元或二元算术运算,并把运...
  • SheIsC
  • SheIsC
  • 2015年04月30日 13:22
  • 703

SQL Server精度数据(decimal和numeric)在算术运算时的自动转换规则

SELECT CAST (124131.28*1.57/100 AS DECIMAL(18,4)) SELECT CAST(1948.86[b]11[/b]*100/1.57 AS DECI...

c++算术运算和位运算中类型转换和类型提升规则和方法

#include using namespace std; void main() { /*********************************************...
  • gukesdo
  • gukesdo
  • 2011年10月27日 10:45
  • 5464

用汇编的眼光看C++(之算术符重载陷阱)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】     在算术符重载里面,“=”重载可能是最经常使用的一种。但是好多人就误以为在函数...

用汇编的眼光看C++(之算术符重载陷阱)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】     在算术符重载里面,“=”重载可能是最经常使用的一种。但是好多人就误以...

C陷阱篇之有/无符号数混合时自动类型转换

先看下面代码:     void main()     {       unsigned int i=8;       if(i>=-1)  printf("8>=-1\n");      ...
  • ipmux
  • ipmux
  • 2013年12月14日 11:00
  • 1055

51汇编之算术运算类指令

  • 2015年11月25日 21:15
  • 36.1MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算术运算时,操作数类型不匹配产生的陷阱
举报原因:
原因补充:

(最多只允许输入30个字)