是否有任何代码可以在C/C++中找到整数的最大值(相应于编译器),如Integer.MaxValuejava中的函数?
我知道C和C++标准没有规定数字的特定表示(可以是二进制补码,符号和数量等).但我不清楚这些标准(并且无法确定是否已经说明)知道在使用位时是否存在任何特定的限制/保证/保留表示.尤其:
x,我想检查变量y以查看它是否是第5位是1,我想知道是否if (x & y)可行(因为据我所知,这取决于表示的值而不是该位是否实际上是1或0))char c所有位置为真(设置为c = c | ~c)并c = c << (CHAR_BIT - 1)设置高位和c = c ^ (c << 1)低位更简单的方法,假设我没有做任何假设,我不应该这样,给出这些问题)我想我的整体问题是:C和C++标准是否有关于位和整数的限制/保证/保留表示,尽管事实上没有强制表示整数的表示(如果C和C++标准在这方面有所不同) ,他们的区别是什么?)
我在完成作业时提出了这些问题,这需要我做一些操作(注意这些不是我作业的问题,这些都是"抽象的").
编辑:至于我称之为"位",我的意思是"值形成"位而不包括"填充"位.
在我的问题中,我必须保存高达1000000位的大整数,并做一些操作.我怎么能这样做.我知道c ++中的long int可以存储多达10位数
#include<iostream>
using namespace std;
int main(){
int x = 1967513926;
int y = 1540383426;
cout<<x+y;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
以上两个整数的和是3507897352 <2 ^ 32.So为什么错误的答案?请帮忙...