gpt4 book ai didi

谁能解释一下这个简短的 C 操作的输出吗?

转载 作者:行者123 更新时间:2023-11-30 21:24:41 25 4
gpt4 key购买 nike

请解释在不同情况下执行的 BIT 明智操作的顺序。

(gdb) set $i = 1
(gdb) p $i << 1 + ($i << 3)
$11 = 512
(gdb) set $i = 1
(gdb) p ($i << 1) + $i << 3
$12 = 24
(gdb) set $i = 1
(gdb) p $i << 1 + $i << 3
$13 = 32
(gdb)

最佳答案

我会解释一个案例,剩下的交给你。

(gdb) p $i << 1 + ($i << 3)
$11 = 512

在这一行上,从右向左阅读,$i最初为 1(二进制为 0001),左移 << 3位,我们有1000因为有括号,那么加1就得到1001 ,即 9。下一个 <<意味着转变 9初始 $i 剩下的位,我们有2^9 = 512 。这是您在下一行中看到的结果。

注意原来的 $i未修改,您需要遵循优先顺序。

关于谁能解释一下这个简短的 C 操作的输出吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35250587/

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