파이썬 리터럴로 정수를 2진수로 표현하려면 어떻게 해야 하나요?
저는 16진수에 대한 답을 쉽게 찾을 수 있었습니다:
>>> 0x12AF
4783
>>> 0x100
256
와 8진수에 대한 답을 찾을 수 있었습니다:
>>> 01267
695
>>> 0100
64
**파이썬에서 바이너리를 표현할 때 리터럴을 어떻게 사용하나요?
답변 요약
int('01010101111',2)
를 사용하여 바이너리를 표현할 수 있지만 리터럴로는 표현할 수 없습니다.또는
0B1100111`.0o27
또는 0O27
(두 번째 문자는 문자 O)로 8진수를 나타낼 수도 있습니다.027
구문을 허용하지 않습니다., 미래를 위한 파이썬, mdash reference& 것이다. 이진 접두어를 사용한 파이썬 2.6 시작으로 리터럴을 0b net/ 또는 0B 표현할 수 있습니다.
>>> 0b101111
47
>>> bin(173)
'0b10101101'
개발 버전의 문서: [# 39 의 새로운 What& 의 파이썬 2.6] (http://docs.python.org/dev/whatsnew/2.6.html # pep 3127 정수 리터럴이 지원 및 문법)
>>> print int('01010101111',2)
687
>>> print int('11111111',2)
255
다른 방법도 있습니다.
>. # Python 의 바이너리 리터럴을 익스플레스 어떻게 해야 할까요?
>>> 0b0010101010
170
>>> 0B010101
21
Python 에서 3 [docs] [1] 에서 정수 리터럴, 이것들은 방법을 제공하고 있다.
>. 정수 리터럴 오른길로 설명자 다음 사전적 정의: >. >. >. = 데킨테거 비니 테거 오스틴테거 허신테거 정수: >. 데킨테거:: = 농제로디기트 ([" ";] 자리) * ", 0", + ([" ";] 0" ";) >. = " 0" 비니 테거::;; (" b"; b" ";) ([" ";] 프리드리히트) + >. = " 0" 오스틴테거::;; (" o"; o" ";) ([" ";] 오스트리히트) + >. = " 0" 허신테거::;; (" x"; x" ";) ([" _";] 에스트리히트) + >. ,, = " 1" ." 9" 농제로디기트:: >. = " ." 9";;; 0" 자리. >. = " 0" 프리드리히트::;; " 1"; >. ,, = " 0" ." 7" 오스트리히트:: >. ,, = 자리 " a" ." f" 에스트리히트:: " a" ." f";;; >. >. >. 정수 리터럴을 뭐로부터요 외에 디스테이징하는 한계는 없다 >. 사용 가능한 메모리에 저장할 수 있습니다. >. >. 단, 비제 리딩 제로를 인할지 소수 허용되지 않습니다. >. 이 캐비닛용입니다 함께 있는 c 스타일 옥탈칩을 리터럴, Python 은 다음과 같은 뜻이 있다. >. 전에 사용한 버전 3.0. >. >. 몇 가지 예는 정수 리터럴: >. >. 7 0o177 0b100110111 2147483647 >. 3 79228162514264337593543950336 0o377 0xdeadbeef >. 100_000_000_000 0b_1110_0101 >. 변경일 버전 3.6:* 밑줄 이제 그룹화용으로 용도로 사용할 수 있는 리터럴은.
문자열에서 개체 수 있는지 제로 및 수준들과 조작할 수 있는 (비트 정수 연산을 할 수 있지만 대부분의 경우 아마 그냥) - 그냥 지나칠 int 의 문자열이 제로 및 수준들과 기본 틀렸다니까 변환 (2):
>>> int('010101', 2)
21
'0b' 또는 '0B' 접두어입니다 있는 수도 있습니다.
>>> int('0b0010101010', 2)
170
'0' 를 기본 통과시킬 경우 이를 통해 지정할 경우, 문자열 t # 39 solaris. 밑수가 10 doesn& 접두어입니다:
>>> int('10101', 0)
10101
>>> int('0b10101', 0)
21
정수 빈 문자열은 이진 ipv6-literal. 표현한 것으로 볼 수 전달할 수 있습니다.
>>> bin(21)
'0b10101'
Int '과' 빈 '와' 그것으 되돌아가 결합할 수 있습니다.
>>> bin(int('010101', 2))
'0b10101'
사양명세 형식을 사용할 수 있습니다 물론 스케쳐내 함께 최소화하도록 너버 이전 제로.
>>> format(int('010101', 2), '{fill}{width}b'.format(width=10, fill=0))
'0000010101'
>>> format(int('010101', 2), '010b')
'0000010101'
[1]: https://docs.python.org/3/reference/lexical_analysis.html # 정수 리터럴