아래의 배경 설명은 아직 번역되지 않아 영어로 표시됩니다.
16진수 소개
Base 16 is the youngest of the bases in daily use, and it exists because of a hardware decision. Grouping bits in fours lets one written digit stand for exactly four of them, so a byte is two digits and a 16-bit word is four, with no digit ever straddling a byte boundary. Octal did the same job on machines whose word sizes were multiples of three — the PDP-8's 12-bit words, the 36-bit IBM 7090 — and lost ground as the 8-bit byte became standard. Unix file permissions, still written 644 and 755, are an octal survival.
Base 16 had at least one advocate before computers existed. John W. Nystrom, a Swedish-American engineer, published a complete hexadecimal scheme in 1862 as the Tonal System, with invented names for the digits and matching proposals for hexadecimal weights, measures and coinage. It went nowhere.
Early machines disagreed about what to write for the six digits above 9; the Bendix G-15 of 1956 used the lowercase letters u, v, w, x, y and z. The name wobbled as well. "Hexadecimal" is a macaronic word, welding the Greek hexa- for six onto a Latinate -decimal; the consistently Latin "sexadecimal" is the older form, and was still turning up in Bendix documentation in the 1950s. The A-to-F convention everyone inherited established itself as the de facto standard from 1966, in the wake of the Fortran IV manual for the IBM System/360.
Notation itself never converged. C writes 0x1F, and C++, Java, Python, JavaScript, Go and Rust all followed; Motorola assemblers and the Pascal family write $1F; Intel-style assemblers append an h, as in 1Fh; the web writes colours as #1F1F1F. Four bits got a name of their own along the way — a nibble, sometimes spelled nybble, half a byte and exactly one hexadecimal digit.
주요 성질
- One hexadecimal digit is exactly four bits, so two digits cover one 8-bit byte: 00 to FF is 0 to 255.
- Converting between hexadecimal and binary is digit-by-digit substitution, with no carrying across digits.
- FFFF is 65,535 and FFFFFFFF is 4,294,967,295 — the largest unsigned 16-bit and 32-bit values.
- An n-bit value needs ceil(n/4) hexadecimal digits, which is why a 24-bit colour is written as six.
- A number is divisible by 15 exactly when its hexadecimal digits sum to a multiple of 15 — casting out nines, rebased.
- 1/d in lowest terms terminates in hexadecimal only when d is a power of two, so 1/3 and 1/5 both recur.
- 2^53 - 1, the largest integer a JavaScript number holds exactly, is 1FFFFFFFFFFFFF in hexadecimal.
- DEADBEEF, the long-standing debugging marker, is the decimal number 3,735,928,559.
등장하는 곳
- CSS and HTML colours: #FF8000 is one byte each of red, green and blue.
- MAC addresses are 48 bits written as six hex pairs; IPv6 addresses are 128 bits written as eight groups of four hex digits.
- Unicode code points are written as U+ followed by hexadecimal, as in U+1F600.
- File-format magic numbers: a Java class file opens with the four bytes CAFEBABE, and a PNG opens with byte 89 followed by the letters P, N and G.
- Git names commits by their SHA-1 hash printed as 40 hexadecimal digits, usually abbreviated to the first seven.
이 생성기 사용법
생성된 값은 위쪽에 표시되고 옆에 복사 단추가 있습니다. 이미지로 만들려면 이미지 만들기의 스타일에서 모양을 고르고, 내보내기 크기를 정한 뒤 PNG·JPEG·WebP로 내려받으세요. 모두 브라우저에서 그려지므로 생성한 내용이 서버로 전송되지 않습니다.
작업하는 동안 주소창이 갱신되므로, 링크는 항상 지금 보이는 상태를 그대로 재현합니다. 특정 수열을 공유하거나 설정을 저장해 두기에 좋습니다. 값을 일반 텍스트로 가져가려면 복사를, CSV·JSON·NDJSON·SQL·XML이 필요하면 데이터 내보내기를 사용하세요.
출처
- Hexadecimal — Wikipedia — CC BY-SA 4.0
- Nibble — Wikipedia — CC BY-SA 4.0
- IBM System/360 — Wikipedia — CC BY-SA 4.0
- Web colors — Wikipedia — CC BY-SA 4.0
이 페이지의 역사적 설명은 위에 나열한 공개 라이선스 자료를 바탕으로 합니다. 잘못된 내용을 발견하셨나요? 알려주시면 바로잡겠습니다.