# API와 ABI 버전 붙이기

`PY_VERSION_HEX`는 단일 정수로 인코딩된 파이썬 버전 번호입니다.

예를 들어 `PY_VERSION_HEX`가 `0x030401a2`로 설정되면, 기본 버전 정보는 다음과 같은 방식으로 32비트 숫자로 처리하여 찾을 수 있습니다:

> 바이트 | 비트 (빅 엔디안 순서) | 뜻
> --- | --- | ---
> `1` | `1-8` | `PY_MAJOR_VERSION` (`3.4.1a2`의 `3`)
> `2` | `9-16` | `PY_MINOR_VERSION` (`3.4.1a2`의 `4`)
> `3` | `17-24` | `PY_MICRO_VERSION` (`3.4.1a2`의 `1`)
> `4` | `25-28` | `PY_RELEASE_LEVEL` (알파는 `0xA`, 베타는 `0xB`, 배포 후보는 `0xC`, 최종은 `0xF`). 이 예에서는 알파입니다.
> | `29-32` | `PY_RELEASE_SERIAL` (`3.4.1a2`의 `2`, 최종 배포는 0)

따라서 `3.4.1a2`는 16진수 버전 `0x030401a2`입니다.

모든 주어진 매크로는 Include/patchlevel.h에 정의됩니다.