*컴퓨터가 데이터를 저장하고 있는 상태
=> 비트단위로 저장되어있음.
=> 결국 0x11, 17, 00010001b 표기만 다를 뿐 저장되는 내용은 같다.
*아스키코드
*컴퓨터는 H, E, l, ... 이런 문자들을 알 수 없다.
*문자열 끝에는 항상 NULL (0x00) 이 포함되어 있어야함..
=> 해당 문자열이 언제 끝나는지 알려주어야 됨.
*리틀엔디안 & 빅엔디안
=> intel 에서는 '리틀 엔디안' 적용.
=> 항상 낮은 주소부터 Big / Little 기준으로 넣어진다.
*왜 '리틀엔디안' 을 사용했을까 ??
=> 장단점이 교차한다.
*리틀엔디안
=> 캐스팅에 유리 ( ex. 4바이트 데이터에서 1바이트만 가져오고 싶을 때 )
*빅엔디안
=> 숫자 비교에 유리 ( ex. 0x1234 / 0x5678 )
메모리의 최소단위 '1바이트'
메모리 주소 는 '1' 씩 증가.
=> 참고로 VS 메모리 창에서는,
오른쪽부터 주소값이 증가되는 형태이다. 아무래도 보기 편하게 VS 에서 만들어준게 아닌가 싶다.
c = 1234 = 0x4d2, 오른쪽부터 4d2 가 넣어지는 것을 볼 수 있다.
본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.
'프로그래밍 > C++' 카테고리의 다른 글
#7. 시프트, 논리 연산 (0) | 2022.07.15 |
---|---|
#6. 사칙연산 (0) | 2022.07.15 |
#4. 변수와 레지스터 (0) | 2022.07.15 |
#3. 레지스터 (0) | 2022.07.14 |
#2. 데이터 기초 (0) | 2022.07.14 |