• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

교안 125p 진법변환 질문

22.11.28 13:17 작성 조회수 146

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진법등으로 변환할때 필요하네요.