如何在Julia中将bitstring(位串)转换为二进制形式?
解决方法
将字符串形式的二进制串转成整数(等价于0b开头的二进制字面量)
直接用Python内置的int()函数,第二个参数指定为2(表示输入是二进制格式):bit_str = "000000000000000000000001001" binary_num = int(bit_str, 2) # 结果为整数9,与0b1001完全等价此时
binary_num是整数类型,可直接进行位异或等操作,不会出现类型问题。保留整数类型执行位运算
避免将运算结果转成字符串,直接对整数操作:i = 3 # 示例:操作第3位 binary_num ^= 1 << i # 直接执行异或,结果仍为整数按需转回二进制格式字符串
如果需要得到带0b前缀的字符串,用bin()函数:bin_with_prefix = bin(binary_num) # 比如得到'0b1001'或运算后的对应值若需要不带前缀或补零到指定长度的字符串:
# 不带前缀的二进制串 bin_str = bin(binary_num)[2:] # 补零到原长度(示例原长度23位) padded_bin_str = bin_str.zfill(23)
内容的提问来源于stack exchange,提问作者Nikola Tolzsek
相关产品推荐
相关产品推荐

