一、基礎知識
1、int是C++中用於表示整數的數據類型之一。
2、int在內存中佔據4個字節,範圍為-2147483648~2147483647。
3、可以用sizeof()函數來求int類型在不同編譯器下佔用的字節數,例如:sizeof(int)。
4、int類型可以被賦予任何整數值,包括十進制、八進制和十六進制數字,例如:int a=10, b=012, c=0xA。
5、如果要輸出int類型的值,可以使用cout<<或printf()函數進行輸出。
#include using namespace std; int main(){ int a=12, b=045, c=0xC; printf("%d %d %d", a, b, c); return 0; }
二、進制轉換
1、C++中的int類型能夠表示不同進制的整數,並且可以在進制之間進行轉換。
2、將二進制、八進制和十六進制數字轉換成十進制數字可以使用atoi()函數或sscanf()函數,例如:int a=atoi(“1010”)或sscanf(“0xC”, “%d”, &a)。
3、將十進制數字轉換成二進制、八進制和十六進制數字可以使用itoa()函數或sprintf()函數,例如:char binary[33]; itoa(10, binary, 2)或sprintf(binary, “%b”, 10)。
#include #include using namespace std; int main(){ int a=atoi("1010"); cout<<a<<endl; char binary[33]; itoa(10, binary, 2); cout<<binary<<endl; return 0; }
三、運算操作
1、int類型可以進行基本的算術運算操作,包括加減乘除和取模操作。
2、int類型也支持一些特殊的運算操作,比如按位與&、按位或|、按位異或^、按位取反~、左移<>。
3、需要注意的是,在進行右移操作時,如果進行的是算術右移,則最高位(符號位)會被保留;如果進行的是邏輯右移,則最高位會被清零。
#include using namespace std; int main(){ int a=6, b=3; cout<<a+b<<" "<<a-b<<" "<<a*b<<" "<<a/b<<" "<<a%b<<endl; cout<<(a&b)<<" "<<(a|b)<<" "<<(a^b)<<" "<<(~a)<<endl; cout<<(a<<1)<<" "<>1)<<endl; return 0; }
四、類型轉換
1、在C++中,int類型可以和其他數據類型之間進行自動或強制類型轉換。
2、在進行自動類型轉換時,整數類型之間的轉換通常是安全的,但是浮點數類型之間的轉換需要注意精度問題。
3、在進行強制類型轉換時,可以使用強制類型轉換符(static_cast、dynamic_cast、const_cast、reinterpret_cast)來實現。
#include using namespace std; int main(){ int a=6; double b=3.5; cout<<(a/b)<<endl; int c=static_cast(b); cout<<c<<endl; return 0; }
五、進位與溢出
1、在進行加法和乘法操作時,int類型可能會出現進位和溢出的情況。
2、當兩個int類型的值相加結果超過了int類型的範圍時,會發生溢出,結果會變成負值。
3、當兩個int類型的值相乘結果超過了int類型的範圍時,會發生進位,結果會截取高32位。
#include using namespace std; int main(){ int a=2147483647, b=2; cout<<(a+b)<<endl; cout<<(a*b)<<endl; return 0; }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/195977.html