星宸科技面试题更新 2026-08-05
给定一个 unsigned int,如何找出第一个为 1 的位(从最低位开始)?先给出遍历方法,再进一步优化。
星宸科技电子/硬件开发人工智能编码实现问题拆解技术原理CC++
回答思路
- 能正确用遍历方法定位第一个为 1 的位
- 能指出遍历逐位检查的时间复杂度为 O(位数)
- 能提出使用补码(n & -n)一次定位最低位 1 的优化方案
- 能处理 unsigned int 为 0 的边界情况并解释返回值
- 能说明未定义行为风险(如对 0 取负)及替代方案
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。