一、基础知识
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/n/195977.html