gpt4 book ai didi

c - 左移操作中出现意外输出...?

转载 作者:行者123 更新时间:2023-11-30 18:26:59 24 4
gpt4 key购买 nike

我读到左移 e1<<e2相当于 e1* 2e2 。但对于代码:

x=5;
printf("%d",x<<3);

输出是40,但根据我的说法,它应该是30。和 x<<4它是 80 。(但预计 40)。

虽然对于x<<1x<<2正如预期的那样,输出为 1020

请解释一下这个逻辑。

最佳答案

00000101 = 4 + 1 = 5

00101000 = 32 + 8 = 40

左移不是连续乘以 2, 4, 6, 8(即 x*2),而是连续乘以 2, 4, 8, 16(即 x^2)。

关于c - 左移操作中出现意外输出...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4006285/

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