zoukankan      html  css  js  c++  java
  • c++ int,unsigned int混合表达式类型转换

    测试代码:

    #include<cstdio>
    #include<iostream>
    using namespace std;
    int main() {
        unsigned int a = 3;
        int b=2,c=1;
        if(b<c-a) cout<<"int transform to unsigned int"<<endl;
        cout<<b<<" "<<c-a<<endl;;
        cout<<a*-1<<endl;
        long long d = 5;
        cout<<a-d<<" "<<sizeof(a-d)<<endl;
        return 0;
    }

    运行结果:

    int transform to unsigned int
    2 4294967294
    4294967293
    -2 8

    int和unsigned int的混合表达式,计算时会将int转换为unsigned int

     普通情况下会将范围小的隐式转换为范围大的,但对于int和unsigned int,就说不准哪个范围大了,经测试是会将int转换为unsigned int(被坑过。。。)

  • 相关阅读:
    前端资源网址
    IDEA激活工具
    新建jsp项目
    jsp笔记
    iOS的SVN
    iOS学习网站
    测试接口工具
    MVP模式
    关于RxJava防抖操作(转)
    注释模板
  • 原文地址:https://www.cnblogs.com/cdyboke/p/7780312.html
Copyright © 2011-2022 走看看