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;
0은1로 1은 0으로 교체한후 +1을 더한다.