c++ int,unsigned int混合表達式類型轉換
阿新 • • 發佈:2017-11-03
類型轉換 main pan cnblogs blog 情況下 mes size transform
測試代碼:
#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(被坑過。。。)
c++ int,unsigned int混合表達式類型轉換