pr0912.cpp

来自「practice c++, it is from the book http:/」· C++ 代码 · 共 33 行

CPP
33
字号
//  Programming with C++, Second Edition, by John R. Hubbard
//  Copyright McGraw-Hill, 2000
//  Problem 9.12 on page 222
//  Converting decimal to hexadecimal numerals

#include <cassert>
#include <iostream>
using namespace std;
string hexadecimal(int n);

int main()
{ for (int i=1; i<33; i++)
    cout << i << " = " << hexadecimal(i) << endl;
}

char c(int);

string hexadecimal(int n)
{ if (n == 0) return string(1, '0');
  string s;
  while (n > 0)
  { s = string(1, c(n%16)) + s;
    n /= 16;
  }
  return s;
}

char c(int k)
{ assert(k >= 0 && k <= 15);
  if (k < 10) return char(k + '0');
  return char(k - 10 + 'a');
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?