NULL
MSB비트와 2의 보수개념 본문
MSB는 최상위 비트 또는 최상위 바이트가 있다.
정수의 표현방식은 바이트와는 상관없다.
바이트의 크기가 크면
그만큼 넓은 범위의 정수를 표현할수있을 뿐이다.
흔히 하는 착각이 이런 경우이다.
단순히 MSB만 달라지면 부호가 달라지는줄 안다.
허나 전혀 그렇지않다.
+5를 -5로 바꿀려면 2의보수를 취해야한다.
2의 보수는 머냐면
0은 1로 바꾸고 1은 0으로 바꾼다.
이것을 1의 보수라고 하며 2의 보수는
1의 보수를 한 상태에서 +1을 하게 되면
그게 바로 2의 보수이다.
이렇게 2의 보수를
취해주면 값의 부호가 바뀐다.
반대로 -5에서 +5를 만들려고 해도
똑같이 2의보수를 취해주면 되는것이다.
부호를 바꿀땐 무조건
2의보수를 취해줘야된다는걸
잊지말고 머릿속에 새겨넣자.
'C' 카테고리의 다른 글
unsigned, sizeof 함수 (0) | 2016.12.13 |
---|---|
비트연산자 개념설명 (0) | 2016.12.13 |
2진수 10진수 반환, 비트와 바이트개념 (0) | 2016.12.13 |
scanf 입력함수 개념 (0) | 2016.12.13 |
논리연산자 이해 (0) | 2016.12.13 |
Comments