문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류: 정보 표현]] == 개요 == 0과 1로 구성된 숫자의 표현이다. 예를 들어 123(기수 10) = 1111011(기수 2)로 표현할 수 있다. 어떤 기수의 숫자에서 i번째 숫자 d의 값은 다음과 같다. <math> d * Base^i </math> == LSB / MSB == LSB (Least significant bit) 의 약자로써 가장 오른쪽의 비트 0을 나타내고, MSB (Most significant bit)은 가장 왼쪽의 비트를 나타낸다. MSB는 부호나 제일 큰 지수를 나타내기 때문에 변경되면 엄청나게 값이 변하지만 LSB는 오직 1 만 변한다. 그래서 이런 이름이 붙여 졌다. == 오버 플로우 == 연산 결과가 하드웨어에 구현된 비트들 만으로는 구현 불가능한 상태이다. [[오버 플로우]] 참고 == 부호 비트의 표현 == 전자기기에서 음수는 첫자리(가장 높은 자리)의 수가 1인 것으로 나타낸다. 즉 첫 번째 숫자가 0이면 양수이고, 1이면 음수이다. 이건 그냥 컴퓨터의 정수 표기법에 대한 약속이고 진법 자체와는 관련이 없다. 1의 보수(1's complement, 1'C)[4], 2의 보수(2's complement, 2'C) 등의 방식이 있으며, 컴퓨터에서 가장 널리 사용하는 것은 2의 보수이다. 1의 보수는 양수에서 모든 비트를 반전시켜서 표현하는 것이고, 여기에 1을 더한 것이 2의 보수이다. 예를 들어보면 다음과 같다. 0000 0101 = 숫자 5 1111 1010 = 비트 반전 (1의 보수에서의 -5) 1111 1010 = 250 1111 1011 = 비트 반전에 1을 더함 (2의 보수에서의 -5) 1의 보수에서는 0000 0000 과 1111 1111 이 모두 0이 되므로 0이 두 가지로 표현되는 문제가 생긴다. 2의 보수 표기는 10진수와 상호 변환하기 가장 어려운 표기법이긴 하나, 연산에서 양수와 음수를 똑같이 취급할 수 있다는 엄청난 이점이 있다. 예를 들어 3 + (-5)를 한다고 하자. 2의 보수 표기법에서는 0000 0011 + 1111 1011이 되고 계산해보면 1111 1110 = -2가 된다. 마치 둘 다 양수인 양 더했더니 올바른 값이 나와버렸다. 이는 음수+음수도 마찬가지다. -5 + (-7) = 1111 1011 + 1111 1001 = 1 1111 0100 = 1111 0100 = -12이다. 다른 어떤 음수 표기법도 부호 확인 없이 때려넣으면 저렇게 정답이 나오지 않는다. 이렇게 연산 과정에서 부호를 고려할 필요가 없다는 점은 속도에 약간의 이익을 준다. 이진법 문서로 돌아갑니다.