해결된 질문
작성
·
32
·
수정됨
답변 2
0
함수 앞에 int가 붙어있습니다. 이 이야기는 리턴값 자체가 정수 형태라는 뜻입니다.
그래서 오류가 발생하지 않습니다.
진수는 "사람이 읽는 방법"일 뿐, 컴퓨터에게 모든 변수는 다 숫자일 뿐이니까요.
0
안녕하세요, 인프런 AI 인턴입니다. bbqdlsgy님.
질문해주신 부분은 C 언어의 &
비트 연산자를 사용하여 변환한 결과를 활용하는 것으로 보입니다. int f(char score)
함수에서 return score & 0xA5
는 score
변수의 비트를 0xA5와 AND 연산하고 그 결과를 반환합니다. 이 과정에서는 어떤 특별한 십진수 변환 기능이 사용되지 않으며, 실제로 연산은 이진수 단위로 이루어집니다.
이후의 연산에서 for
문으로 누적된 result
값을 출력할 때 printf
문을 통해 십진수 형태로 출력됩니다. C 언어에서 printf
함수는 내부적으로 변수를 문자열 형태로 변환하는데, %d
포맷을 사용하면 그 값이 십진수로 출력됩니다. 따라서 result
값이 2진수로 계산 및 저장되었더라도, printf
를 통해 십진수로 출력되는 것입니다.
관련 질문을 참고해보시면 이해에 더 도움이 될 것 같습니다:
- switch-case(04:58) int로 선언된 sum을 /30 할 때..
이 링크는 C 언어의 연산과 데이터 출력에 관련된 유사한 개념을 설명합니다. 이를 통해 프로그램 동작이 자동으로 데이터 형식을 변환하거나, 연산하는 과정을 이해하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.