判断一个二进制数转换为十进制数是否是2的幂?

Yer*_*ash -1 java regex

我需要一个正则表达式来检查给定的二进制数转换为十进制后是否是 2 的幂。

Swe*_*per 6

如果二进制数是 2 的幂,则其最左边的位必须是 a 1,其后的所有其他位(如果有)必须是0

因此,这个正则表达式将完成这项工作:

^10*$
Run Code Online (Sandbox Code Playgroud)

如果数字可以有前导零,0*也可以在开头使用来匹配它们:

^0*10*$
Run Code Online (Sandbox Code Playgroud)