Computer Science
-
문자열Computer Science 2023. 5. 16. 14:56
여태껏 문자열을 저장하기 위해 CS50 라이브러리에 포함된 string 자료형을 사용하였습니다. 그럼 아래와 같이 s에 "EMMA"라는 값을 저장한다고 생각해 봅시다. string s = "EMMA"; 문자열은 결국 문자의 배열이고, s[0], s[1], s[2], ... 와 같이 하나의 문자가 배열의 한 부분을 나타냅니다. 가장 마지막 \0은 0으로 이루어진 바이트로, 문자열의 끝을 표시하는 약속입니다. 여기서 변수 s는 결국 이러한 문자열을 가리키는 포인터가 됩니다. 더 상세히 말해 볼까요? 문자열의 가장 첫 번째 문자, 즉 주소 0x123에 있는 s[0]을 가리키게 되는 것입니다. 실제 CS50 라이브러리를 보면 string 자료형은 아래와 같이 정의되어 있습니다. typedef char *stri..
-
16진법, 메모리 주소Computer Science 2023. 5. 12. 17:43
# 16진수 컴퓨터과학에서는 숫자를 10진수나 2진수 대신 16진수로 표현하는 경우가 많습니다. 컴퓨터에서 데이터를 처리하기 위해 16진수를 사용할 때 장점이 있기 때문입니다. 16진수와 일상생활에서 우리가 사용하는 10진수와 비교하면 그 차이를 알 수 있습니다. 16진수를 사용하면 10진수보다 2진수를 간단하게 나타낼 수 있습니다. 16진수로 값을 표현하는 방법을 이해하고 나면 16진수, 2진수, 10진수를 변환하는 프로그램을 만들어 볼 수 있습니다. # 10진수를 16진수로 바꾸어 보기 JPG 이미지 파일은 항상 255 216 255로 시작되고 이것은 10진수임을 확인할 수 있습니다. 하지만 실제 컴퓨터 내에서는 10진수를 사용하지 않는다는 점을 우리는 알고 있습니다. 컴퓨터는 0과 1만을 이해할 수..
-
2진수Computer Science 2023. 5. 3. 22:59
우리는 일상 속에서 0, 1, 2, 3, 4, 5, 6, 7, 8, 9와 같이 총 10개의 기호로 표현합니다. 하지만 컴퓨터에는 이렇게 많은 숫자가 존재하지 않죠. 그러면 어떻게 표현할 수 있을까요? # 2진법 오직 0과 1로만 데이터를 표현합니다. 이를 '2진법'이라고 합니다. 컴퓨터는 신기하게도 오로지 0과 1만으로 숫자는 물론이고 글자, 사진, 영상, 소리 등을 저장할 수 있습니다. 우리가 쓰고 있는 10진수를 2진수로 바꾸는 법을 보여 드리겠습니다. 우리는 각 숫자를 백의 자리, 십의 자리, 일의 자리로 봐서 '백이십삼'이라고 읽습니다. 수식으로 표현하면 사진 하단과 같죠. 이렇게 읽는 이유는 우리끼리의 '약속'이기 때문입니다. 우리는 이 약속에서 각 자리수를 10의 거듭제곱으로 표현했습니다. 2..