这道题可以使用字符串分割解决,但是是取巧的方式,不推荐。根据这道题考的知识点出发去解决,解题过程可以学到很多相关技巧。 思路: 首先我们需要掌握二进制“有符号右移”“无符号右移”知识,去相关博客搜索,半个小时就能学会。考虑到输入可能会有负数,负数二进制右移高位补1,会影响结果。所以我们需要使用无符号右移。我们只需要每次右移一位,然后判断右移后的二进制码末位是否为1(右移后的数&1),以下为基于二进制右移知识基础的演算过程: 假设 n=8; 1、8=(1000), (1000)&(0001)=0, n=8&g...