小编kar*_*yan的帖子

如何使用位操作在C中不使用+运算符添加两个数字

我最近遇到了这个面试问题,我不善于操控.你能解释一下'f'的功能吗?我不确定这个递归函数是做什么的.

unsigned int f (unsigned int a , unsigned int b)
{
   return a ?   f ( (a&b) << 1, a ^b) : b;
}
Run Code Online (Sandbox Code Playgroud)

我试图在Visual Studio中粘贴代码来测试逻辑但是编译器抛出了一些错误消息"无法隐式地将类型'uint'转换为'bool'.条件语句(a?)在返回中丢失了什么?但是我'我确定面试问题与上面提到的完全相同

c recursion bit-manipulation bit

5
推荐指数
1
解决办法
902
查看次数

标签 统计

bit ×1

bit-manipulation ×1

c ×1

recursion ×1