혼자서 비트단위로 메모리 표시해가며 고민해봤는데..

(ex) 4byte짜리 int -1 의 경우 비트 표시    11111111  11111111  11111111  11111111
즉 1byte 단위로 끊어와도  11111111  <- 제일 첫비트에 1이 표시되어 음수 표현이 가능

여기서 잘못생각한게.. byte    vs  char 타입의 차이아닌가? <-- 바보?

while(!EOF) 이 의미는 while표현식 안의 값이 true , false를 정해주는건데..  !-1 ? -> 비트 전부 반전되니까 000000 이 됨으로 
0의 불린 표현은 false가 되어서..? 에구 헷갈린다..

byte = 0~255  = 256개  <---  byte도 -128~127 이닷!!!
char = 2의 8승 256개 중에 -128~0~127 = 256개 (논리상 중간에 -0 +0 이 있는데 이중 +0을 표시하는 비트로 0를 표현하고 -0은 
음수 표현에 사용)

잘못 접근한듯... 흠.. 쓸데없는데 시간낭비 그만!

(4byte 짜리를 1byte 단위로 쓴다는 것, 1byte 단위로 읽어 온다는 것 즉 상위 3byte는 0값으로 채운다는 의미.
텍스트 방식인 2byte 단위로 쓴다는 것, 2byte 단위로 읽어온다는 것 역시 상위 2byte는 0값으로 채운다는 의미.
그럼으로 -1인  11111111 11111111 11111111 11111111 될리가 없다.)


엉뚱한 고찰인듯하다.. 

by givingsheart 2014. 1. 1. 15:47