python 二进制数中所有1索引
时间: 2024-02-11 17:07:56 浏览: 84
可以使用位运算来找出二进制数中所有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的索引
可以使用内置函数 `bin()` 将一个十进制整数转换为二进制字符串,然后遍历二进制字符串,统计其中1的个数并记录其索引位置,最终得到所有1的索引位置的列表。示例代码如下:
```
num = 19 # 十进制整数
binary_str = bin(num)[2:] # 转为二进制字符串,去掉前缀 '0b'
indexes = [i for i, c in enumerate(binary_str) if c == '1'] # 找出所有1的索引位置
print(indexes)
```
输出结果为: `[0, 2, 4]`,表示19的二进制形式为10011,其中的1的索引位置为0、2、4。
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)