python 二进制数中所有1索引
时间: 2024-02-11 13:07:56 浏览: 89
可以使用位运算来找出二进制数中所有1的索引。具体操作是,从二进制数的最低位开始,逐位判断该位是否为1,若为1则将该位的位置加入到结果列表中。示例代码如下:
```
num = 19 # 十进制整数
ones_indexes = []
pos = 0
while num:
if num & 1:
ones_indexes.append(pos)
num >>= 1
pos += 1
print(ones_indexes)
```
输出结果为:`[0, 2, 4]`,表示十进制数19的二进制形式为10011,其中所有1的索引分别为0、2、4。
相关问题
python 二进制字符串中所有1索引
可以使用 `enumerate()` 函数来遍历二进制字符串中的每个字符,然后判断该字符是否为1,若为1则将该字符的索引位置加入到结果列表中。示例代码如下:
```
binary_str = '10011' # 二进制字符串
ones_indexes = [i for i, c in enumerate(binary_str) if c == '1'] # 找出所有1的索引位置
print(ones_indexes)
```
输出结果为:`[0, 2, 4]`,表示二进制字符串 '10011' 中所有1的索引分别为0、2、4。
python查找二进制所有1的索引
你可以使用 Python 的内置函数 bin() 将一个十进制数转换为二进制字符串,然后使用一个循环遍历字符串中的每一个字符,判断是否为 '1',如果是,则将其索引添加到一个列表中。以下是一个示例代码:
```
num = 42 # 十进制整数
bin_str = bin(num)[2:] # 转换为二进制字符串并去掉前缀 '0b'
indexes = [] # 存储所有 '1' 的索引
for i in range(len(bin_str)):
if bin_str[i] == '1':
indexes.append(i)
print(indexes) # 输出结果为 [1, 3, 5]
```
上述代码的输出结果为 [1, 3, 5],表示在二进制字符串中所有 '1' 出现的索引为 1、3 和 5。注意,这里的索引是从 0 开始计数的。
阅读全文
相关推荐













