비트 개념

김태훈·2023년 12월 29일
0

C/C++

목록 보기
1/22
post-custom-banner

크기

1byte=8bit
1byte=2^7=256가지의 수 나타 낼수 있다.
비트는 맨 뒤에서부터 2^0부터 시작
unSigned라면 나타낼수 있는 수는 0~255
Signed라면 -128~127

unsigned char a=256;
-> 0


부호

255까지 표현 가능하기 때문 자료형 크기의 맨 앞에 해당하는 비트 칸은 부호결정.(MSB)
0은 양수,1은 음수

비트에서 음수는 양수를 더했을때 0이 되는 수를 음수.

(계산 방식-10진수 계산 방식과 동일, 다음 자릿수 1증가 조건이 10에서 2로 바뀐 것뿐)


Unsigned char a=255;
Char b=255;

위의 값이 다른 이유

Unsigned인 a는 비트의 MSB의1을 양수로 본다.
Unsigned가 아닌 b는 a와 같이 비트값은 밑으로 동일,
MSB의1을 음수로 보기 때문에 더해서 0이 되는 위의 비트값으로 해석 한 후 마이너스를 붙힌다.


Unsigned char a=-1;

즉 비트 값은 같아도 어떻게 해석하는 지에 따라 값이 달라질 수 있다!

2의 보수법(음수를 찾는 방법)

0은1로 1은 0으로 교체한후 +1을 더한다.

profile
복습을 위한 핵심 내용 및 모작
post-custom-banner

0개의 댓글