C++プログラミング:showbaseを使って数字を16進数に変換

C++プログラミング学習の第一回として、とりあえず、showbaseを使ってdecimal number(10進数)をhex number(16進数)に変換するプログラムを書く。hexadecimalは、10進数の10がAになるという特徴がある。例えば、10進数の15は16進数だと0xF、16なら0x10になる。いきなりプログラムを書けと言われても書けないので、このサイトのコードを参考にする。

1
2
3
4
5
6
7
8
9
// modify showbase flag
#include <iostream>     // std::cout, std::showbase, std::noshowbase

int main () {
  int n = 20;
  std::cout << std::hex << std::showbase << n << '\n';
  std::cout << std::hex << std::noshowbase << n << '\n';
  return 0;
}

std::coutよりもcoutだけの方がいいので下記のように書き換えた。

1
2
3
4
5
6
7
8
9
10
11
// modify showbase flag
#include // std::cout, std::showbase, std::noshowbase

using namespace std;

int main () {
int n = 20;
cout << hex << showbase << n << '\n';
cout << hex << noshowbase << n << '\n';
return 0;
}

このコードに手を加えて、数字を入力するように催促して、入力した10進数の数字を16進数に変換するコードを書いてみた。

1
2
3
4
5
6
7
8
9
10
11
12
13
// modify showbase flag
#include // std::cout, std::showbase, std::noshowbase

using namespace std;

int main (){
auto a=0;
cout <<"Enter an integer number"<< '\n';
cin >>a;
cout << hex << showbase << a << '\n';
cout << hex << noshowbase << a << '\n';
return 0;
}

このコードを実行するC++shellへのリンク

Hello World!よりは実用的なコードだと思う。

スポンサーリンク