gpt4 book ai didi

c++ - shift -1 到 sizeof(int) 在 C++ 中生成两个不同的结果

转载 作者:行者123 更新时间:2023-11-30 00:50:06 25 4
gpt4 key购买 nike

<分区>

我正在编写一些代码并发现了这个问题。我很好奇为什么会这样。

代码如下:

int n = sizeof(int)*8;
int mask_two = (-1<<n);
cout<<"1:"<<hex<<mask_two<<endl;

int y = -1<<(sizeof(int)*8);
cout<<"2:"<<hex<<y<<endl;

当我编译这段代码时,输​​出是:

1:ffffffff
2:0

为什么输出#1 和输出#2 的值不同?编译是Visual C++ 10.0。这个问题的根本原因是什么?

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