10進数から16進数、およびその逆のC++のStringStream
このセクションでは、C ++でDecimalを16進文字列に変換する方法、および16進文字列からDecimal文字列に変換する方法を説明します。この変換では、C++の文字列ストリーム機能を使用しています。
文字列ストリームは、文字列のフォーマット、解析、数値への変換などに使用されます。16進数はIOマニピュレータです。パラメータとしてIOストリームへの参照を取り、それを操作した後に文字列への参照を返します。
次の例では、10進数または16進数を変換する方法を示します。
サンプルコード
#include<iostream> #include<sstream> using namespace std; main(){ int decimal = 61; stringstream my_ss; my_ss << hex << decimal; string res = my_ss.str(); cout << "The hexadecimal value of 61 is: " << res; }
出力
The hexadecimal value of 61 is: 3d
上記の例では、抽出演算子「<<」を使用して、10進数から16進数を取得しています。次の例では、その逆を行います。この例では、16進文字列を16進に変換し、挿入演算子「>>」を使用して、文字列ストリームを整数に格納します。
サンプルコード
using namespace std; main() { string hex_str = "0x3d"; //you may or may not add 0x before hex value unsigned int decimal; stringstream my_ss; my_ss << hex << hex_str; my_ss >> decimal; cout << "The Decimal value of 0x3d is: " << decimal; }
出力
The Decimal value of 0x3d is: 61
-
C++での10進数から16進数への変換プログラム
10進数を入力として指定すると、タスクは指定された10進数を16進数に変換することです。 コンピューターの16進数は16を底とし、10進数は10を底とし、0〜9の値で表されますが、16進数は0〜15から始まる数字で、10はA、11はB、12はC、 Dとして13、Eとして14、Fとして15。 10進数を16進数に変換するには、指定された手順に従います- まず、指定された数値を変換数値の基本値で除算します。例: 6789を16を底とする16進数に変換し、商を取得して格納する必要があるため、6789を16で除算します。余りが0〜9の場合はそのまま保存し、余りが10〜15の場合は、文字形式でA-
-
C++での2進数から10進数への変換プログラム
2進数を入力として指定すると、タスクは指定された2進数を10進数に変換することです。 コンピューターの10進数は10進数で表され、2進数は2進数の0と1の2つしかないため、2進数で表されますが、10進数は0〜9から始まる任意の数値にすることができます。 2進数を10進数に変換するには、右から左に向かって残りの数字を抽出し、0から始まる2の累乗を掛けて、(桁数)–1まで1ずつ増やします。乗算された値を加算し続けて、最終的な10進数値を取得します。 以下に、2進数を10進数に変換する図を示します。 例 Input-: 1010 0 will be conver