Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

주어진 위치에서 'k'비트를 추출하는 Python 프로그램?

<시간/>

이 함수는 pos 위치에서 k 비트를 추출하고 추출된 값을 반환하는 데 사용됩니다. 여기에서는 파이썬 슬라이싱 기술을 사용합니다.

예시

입력::number=170 K=5 Pos=2 출력=21

알고리즘

Extractionbit(no,k,pos)/*변수 번호에는 사용자 입력 번호가 저장되고, 변수 k에는 추출된 비트가 저장되며, 비트의 위치는 pos입니다. */Step 1:먼저 bin()을 사용하여 숫자를 이진 형식으로 변환합니다.Step 2:처음 두 문자를 제거합니다.Step 3:오른쪽에서 시작 위치 pos에서 k 비트를 추출합니다. 따라서 추출하는 부분 문자열의 끝 인덱스 는 e=len(bi)-pos이고 index=e-k+1을 시작합니다. 4단계:k 비트 하위 문자열을 추출합니다. 5단계:추출된 하위 문자열을 다시 10진수로 변환합니다.

예시 코드

# 숫자의 주어진 위치에서 'k'비트를 추출하는 파이썬 프로그램 def extractedbits(no,k,pos):bi =bin(no) bi =bi[2:] e =len(bi) - pos s =e - k + 1 substr =bi[s :e+1] print ("FINAL RESULT ::>",int(substr,2)) # 드라이버 프로그램 if __name__ =="__main__":no=int(input ("숫자를 입력하세요 ::>")) k =int(input("k 비트의 ::>를 입력하세요")) pos =int(input("위치를 입력하세요 ::>")) extractedbits(no,k,pos)  

출력

번호 입력 ::>170k 비트 입력 ::>5위치 입력 ::>2FINAL RESULT ::>21