概述
#include <iostream>
#include <bitset>
#include<cmath>
using namespace std;
int main()
{
cout << "测试int转bool:" << endl; //只有0才是false
cout << (bool)3 << endl; //1
cout << (bool)0 << endl; //0
cout << (bool)-1 << endl; //1
cout << (bool)-3 << endl; //1
cout << (-1)/2 << endl; //0
//算数移位(移动包含符号位,左移右补0, 右移左补符号位)
cout << (1>>1) << endl; //0
cout << (0>>1) << endl; //0
// >=1073741824 左移时变负数
cout << (1073741824<<1) << endl; //-2147483648
cout << (2147483646<<1) << endl; //-4
cout << (2147483647<<1) << endl; //-2
cout << bitset<32>(-1) << endl; //11111111111111111111111111111111
cout << bitset<32>((-1)>>31) << endl; //11111111111111111111111111111111 左边补符号位
cout << bitset<32>((-1)<<31) << endl; //10000000000000000000000000000000 右移补0
cout << (-2>>1) << endl; //-1 右移除2
cout << (-2<<1) << endl; //-4 左移乘2
//max 01111 2147484647
//min 10000 -2147483647
cout << INT32_MIN-1 << endl; //max
cout << INT32_MAX+1 << endl; //min
cout << INT32_MIN*(-1) << endl; //min
cout << abs(INT32_MIN) << endl; //min
cout << INT32_MIN/(-1) << endl; //min
cout << "位运算:" << endl;
cout << (3|4) << endl; //7
cout << (3||4) << endl; //1 ||将左右两边理解为bool, int转bool 非0都是1
return 0;
}
最后
以上就是坚定鸡为你收集整理的C语言基础 数据越界问题的全部内容,希望文章能够帮你解决C语言基础 数据越界问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复