2진수 변환

2진수 1010은 10진수로 10이고, 10진수 255는 2진수로 11111111입니다.

텍스트와 2진수

문제가 해결됐나요?
Google 선호 출처로 추가

사용 방법

  1. 2진수, 8진수, 10진수, 16진수 네 칸 중 아무 데나 숫자를 넣으면 나머지 세 칸이 바로 바뀝니다. 마이너스 기호, 공백, 밑줄, 0b·0o·0x 접두어도 받습니다.
  2. 4자리씩 끊어 보기에 체크하면 긴 2진수를 읽기 쉬워집니다.
  3. 텍스트를 바꾸려면 텍스트 칸에 입력하세요. 8비트씩 끊은 2진수가 나옵니다. 반대로 2진수 칸에 붙여 넣으면 텍스트가 나옵니다. 묶음 사이 공백은 있어도 되고 없어도 됩니다.

계산 방법

각 칸은 자기 진법으로 한 자리씩 읽어 BigInt로 저장합니다. 그래서 아주 큰 값도 반올림 없이 정확하게 바뀌고, 다른 칸은 그 값 하나에서 다시 써 냅니다.

음수는 마이너스 기호를 그대로 둡니다(-1010은 -10). 2의 보수로 보여 주지 않습니다. 정해진 비트 폭의 2의 보수가 필요하면 양수 값을 구한 뒤 직접 뒤집으세요.

텍스트는 먼저 UTF-8로 인코딩하고 바이트마다 8비트로 씁니다. 영문 알파벳은 1바이트, 악센트가 붙은 글자와 대부분의 기호는 2~3바이트, 한글은 3바이트, 이모지는 4바이트입니다. 2진수를 텍스트로 되돌리려면 길이가 8의 배수이고 바이트가 올바른 UTF-8이어야 합니다.

자주 쓰는 값

10진수2진수8진수16진수
10101012A
42101010522A
100110010014464
25511111111377FF
256100000000400100
1024100000000002000400

자주 묻는 질문

2진수를 10진수로 직접 계산하려면?

오른쪽부터 자릿값 1, 2, 4, 8, 16을 차례로 적고, 숫자가 1인 자리의 값을 더합니다. 1101이라면 8 + 4 + 1 = 13입니다.

글자 하나가 왜 2진수 8자리가 되나요?

컴퓨터는 글자를 바이트로 저장하고 1바이트가 8비트이기 때문입니다. A는 바이트 값 65로 01000001입니다. 한글처럼 기본 영문 밖의 글자는 UTF-8에서 여러 바이트를 씁니다.

2진수를 붙여 넣으면 오류가 나요

텍스트로 바꾸려면 0과 1만 있어야 하고(공백과 밑줄은 무시), 전체 길이가 8의 배수여야 하며, 바이트가 올바른 UTF-8이어야 합니다. 숫자가 하나 더 있거나 비트가 모자라면 이 중 하나가 깨집니다.

자릿수 제한이 있나요?

숫자 변환은 BigInt를 써서 정해진 한계가 없습니다. 다만 아주 긴 입력은 입력할 때 느려질 수 있습니다. 입력한 내용은 서버로 보내지 않습니다.