通过率 59% · 提交 198 · 通过 116
在魔法大陆上,有一块神秘的比特水晶,它的能量以二进制字符串的形式储存。然而,只有掌握十进制转换魔法的法师,才能读取水晶中的真正数值。 然而,比特水晶使用来存储数值,这让许多年轻的法师感到困惑。特别是当水晶的为`1`时,它可能会施放一种负数诅咒,让数值变得负面。 作为一名魔法学院的高阶学者,你需要编写一段魔法咒语(程序),将二进制字符串解析成对应的十进制整数。 比特水晶采用补码存储,即: - 若 `S` 长度小于 `32`,可以直接按照正整数转换。 - 若 `S` 长度等于 `32`,需考虑补码规则: - 若最高位是 `0`,则直接转换为十进制数。 - 若最高位是 `1`,则需要按照补码转换,结果可能为负数。
这类题属于华为可信认证科目一方向中「可信 / 模拟」方向的高频题型,通常考察对「可信 / 模拟」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
一个二进制字符串 S(仅包含0和1)。
输入保证转换后的十进制数值在32 位有符号整数(-2^{31} 到 2^{31}-1)的范围内。
输出 S 所表示的十进制整数。
示例 1
输入示例
00011
输出示例
3
示例 2
输入示例
11111111111111111111111111111110
输出示例
-2
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有