gpt4 book ai didi

c - 查找 32 位整数的偏移量

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:04 32 4
gpt4 key购买 nike

我有一个非常简单的问题,但我无法解决。有一个从 0 到 (2^32)-1 的索引,我想用这个索引计算一个偏移量,如下所示:

0 到 (2^8)-1 => 0

2^8 到 (2^16)-1 => 1

2^16 到 (2^24)-1 => 2

2^24 到 (2^32)-1 => 3

任何人都可以给我方程式吗?

最佳答案

假设 i 是你的 32 位整数,这个表达式可以工作:

(i > 0xffffff? 3: i > 0xffff? 2: i > 0xff? 1: 0)

实际上,最后一个三元运算符?: 是不必要的,所以表达式可以简化为

(i > 0xffffff? 3: i > 0xffff? 2: i > 0xff)

或者你可以删除三元运算符,只做比较和加法:

((i > 0xffffff) + (i > 0xffff) + (i > 0xff))

关于c - 查找 32 位整数的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33041216/

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