gpt4 book ai didi

c++ - 如果在 C++ 中超出范围,将打印出什么值

转载 作者:行者123 更新时间:2023-11-30 01:16:59 25 4
gpt4 key购买 nike

我是 C++ 的菜鸟,我在这里有一个问题。

我使用 int 打印 2 的前 100 次方。我知道结果将超出 int 变量的范围。我只是好奇,程序给出的结果是0,0是怎么出来的呢?

提前致谢!

我的代码如下:

#include<iostream>

using namespace std;

void main()
{
int a=1;
unsigned int b=1;

for (int i=1;i<=100;i++)
{
a=2*a;
b=2*b;
}

cout<<"the first 1oo powers of 2 is (using an signed int): "<<a<<endl;
cout<<"the first 1oo powers of 2 is (using an unsigned int): "<<b<<endl;

//The fix
cout<<"Enter a Char to Exit."<<endl;
char theFix;
cin>>theFix;
}

最佳答案

无符号整数或正有符号整数乘以 2 就像左移 1,而 0 位将从右移入。 32 次迭代后(假设为 32 位整数),整个值将全部为 0 位。之后,向左移动 0 将不再改变结果。

关于c++ - 如果在 C++ 中超出范围,将打印出什么值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25489529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com