작성
·
175
2
답변 1
1
안녕하세요? 좋은 질문입니다. 사람이 나열한 기호들(1과 6이라는 기호 2개)이 데이터(정수 연산이 가능한 16이라는 데이터가 2진수의 형태로 메모리에 저장)로 어떻게 변환이 되는지 궁금하신 것 같네요. 컴파일러가 해주는 일인데 1씩 세는 것 보다는 더 효율적인 방법으로 처리합니다. 더 정확히는 C언어 '컴파일러'의 코드를 봐야할 것 같은데 제가 컴파일러 전공은 아니라서 볼 생각을 안해봤네요.
다르지만 비슷한 사례로는 C언어에서 사람이 입력한 16을 숫자 16으로 변환하는 코드는 제가 찾아봤는데 아래에서 참고하실 수 있습니다.
https://code.woboq.org/userspace/glibc/stdlib/strtol_l.c.html
문자열을 숫자로 변환하기, 비트연산자 등은 뒤에 나오니 그때 공부하시면 됩니다.