나는 이진수를 (1,3,6)와 같은 실제 이진수로 표현하는 목록을 0b100101
으로 표현하려고합니다. 첫째, 2^1 + 2^3 + 2^(6)로 합계를 시도하고 내가 그래서 너무파이썬 : 바이너리를 합하는 방법? 바이너리 파워 벡터 프리젠 테이션에서 실제 바이너리 프리젠 테이션에 이르기까지, 어떻게?
>>> a=['0b10000000000000000000000000', '0b100000000000', '0b100000000000000000000000000000']
>>> a[1]|a[2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for |: 'str' and 'str'
>>> bin(a[1])+bin(a[2])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object cannot be interpreted as an index
아래 a
처럼 나열하는 변환 곳 이진
with open('DATA.txt') as f:
for line in f:
myLine=line.rstrip().split("\t")
print [bin(2**int(l)) for l in myLine[1:5]]
로 변환
내가 어떻게 실제 진수 프레젠테이션에 전력 진수 프레젠테이션에서 얻을 수있는, 즉 이진수에 전원 벡터로 변환하는 방법 ?
간단한 예
입력
['0b10000000000000000000000000', '0b100000000000', '0b100000000000000000000000000000']
의도 출력
0b100010000000000000100000000000
길이가 다른 이진수를 얻을 수 있습니까? 길이가 10 인 정수와 같이 모든 숫자를 얻을 수 있습니까? 예 : "0b000 0b1100 0b100100 0b11000"그래서 "0b00010 0b001100 0b100100 0b011000"앞에 여분의 0이 쌓여 있습니까? someStringBinary.zfill (30)은 거의 비슷하게 작동합니다. – hhh
''0b '+ bin (20) [2 :] .zfill (10)' – Chronial