인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

머리가짧아슬픈개발자님의 프로필 이미지
머리가짧아슬픈개발자

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

C++알고리즘 교안

교안 125p 진법변환 질문

작성

·

187

0

int main(){

int n = 100;

int b = 2;

while(n > 1){

v.push_back(n % b);

n /= b;

}

if(n == 1)v.push_back(1);

reverse(v.begin(), v.end());

for(int a : v) {

if(a >= 10)cout << char(a + 55);

else cout << a;

}

return 0;

}

ㅡㅡㅡㅡㅡㅡㅡ

안녕하세요. 여기서 if(a>=10) cout << char(a+55); 부분이 잘 이해가 되지 않습니다.

a가 10이상이면 'A' 부터 인데 이 라인이 왜 있는 건가요??

답변 2

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 머리가 짧아 슬픈 개발자님 ㅎㅎ

해당 부분은 16진법을 위해 필요한 부분입니다. 잘 이해하셨네요. ㅎㅎ

또한, 혹시나 다른 분들도 헷갈리실까봐 교안에 주석을 추가해 수정해놓겠습니다.

 

감사합니다.

0

질문 작성하고나서 이해했습니다.. 16진법등으로 변환할때 필요하네요.

머리가짧아슬픈개발자님의 프로필 이미지
머리가짧아슬픈개발자

작성한 질문수

질문하기