해결된 질문
작성
·
45
답변 2
0
첫번째의 질문은 [a], [b]에 각각 어떤 연산자나 숫자가 들어가야하는지를 묻는 질문입니다.
그래서 정답이 %, 10이 된다는 것이고요.
지금 중요한 것은 나머지를 가져와서 2를 곱하는 것입니다.
2진수라는 것은 각 자리수가 2의 제곱수가 늘어나는 과정입니다.
예를 들어 1011이라고 하면, 이것은 2^3*1, 2^2*0, 2^1*1, 2^0*1인 것입니다.
지금 2진수의 숫자는 정해져있습니다. 101110이죠. 여기서 맨 뒤의 자리수만 잘라서 2를 곱하면 2진수를 10진수로 변환하게 됩니다. 그리고 각 자리수가 늘어날 때마다 2를 제곱한 다음에 곱하면 다음 번 숫자의 2진수를 구하게 되는 것이죠.
이걸 모두 누적하면 그게 곧 10진수가 되는 것입니다.
위의 설명을 단지 말로 설명하면 이해가 어렵습니다.
빈 종이를 가져오셔서 직접 가장 끝의 자리수를 2와 곱해가면서 누적해보세요.
그럼 왜 2진수가 10진수로 변환되는 코드로 되는지 알 수 있습니다.
두번째 질문의 경우 4 곱하기 2를 하면 6이 아닙니다. 4*2는 8이죠.
그래서 2의 배수가 됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. snow4532님.
질문해주신 내용을 통해 비교연산자와 조건문 문제에서 혼란스러운 부분을 해결해 드리고자 유사한 기존 답변을 안내드립니다. 아래의 링크에서 관련 문제 풀이와 개념 설명을 참고하실 수 있습니다.
반복문과 배열의 접근에 대한 설명:
지수승의 증가에 대한 이해:
di
의 값이 어떻게 증가하는지를 이해하기 위해 유사한 문맥의 질문과 답변을 확인하실 수 있습니다.기본적으로, sum + (input[a][b]) * di ;
의 수식을 통해 input[a][b]
값이 di
와 함께 곱해져 누적됨을 알 수 있습니다. input[a][b]
의 각 값을 나머지 연산 %10
을 통해 자릿수가 조정되며 더해지기 때문에 시퀀스가 0, 10, 100...
처럼 증가할 수 있습니다.
또한, di
가 1
부터 시작하여 2배씩 증가하는 구조라면, 1, 2, 4, 8, 16...
과 같은 지수승의 형태로 증가되고, 계산 시에는 이 형태를 이해하는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.