首页 > 试题广场 >

写出代码实现如下函数: * * Generate mas

[问答题]

写出代码实现如下函数:

/*
* Generate mask indicating leftmost 1 in x. Assume w=32.
* For example, OxFFOO -> 0x8000, and 0x6600 --> 0x4000.
* If x = 0, then return 0.
*/
int leftmost_one(unsigned x);

函数应该遵循位级整数编码规则,不过你可以假设数据类型int有w=32位。

你的代码最多只能包含15个算术运算、位运算和逻辑运算。

提示:先将x转换成形如[0…011...1]的位向量。

这道题你会答吗?花几分钟告诉大家答案吧!