2016-06-14 21 views
0

16進文字列に整数を追加するにはどうすればよいですか。16進数文字列を含む整数を追加する

11'h000 

そして、私はそれに整数7を追加したい:

は私の16進数文字列があるとします。出力する必要があります与えるべきです

11'h007 

与えられた11'h00e、整数1を追加すると私に11'h00fを与える必要があります。

C++には定義済みの関数はありますか?私はそれを得るが、コンパクトな方法を探して私のスイッチケースの文を書くことができた。

+3

が見[STD :: Sotiの](http://www.cplusplus.com/reference/string/stoi/)とを取る[STD :: to_stringに](のhttp:/ /www.cplusplus.com/reference/string/to_string/) – Garf365

+2

@ Garf365:C++ 11でも、簡単に16進文字列を出力するために 'std :: to_string'を使うことはできません。最善の方法は 'std :: hex'ストリームフォーマッタを使用しているようです。しかし、私は間違っていると思います。 – Bathsheba

+0

@Bathshebaあなたは正しいです、まだ最良の方法は 'std :: hex'です – Garf365

答えて

5

最も良い方法は?数字の書式設定を数字と混同しないでください。使用

int x = std::stoi(s/*a hexadecimal string*/, nullptr, 16 /*hexadecimal*/); 
x++; /*all your arithmetic operations here*/ 
std::cout/*or a suitable stream*/ << std::hex << x; 
関連する問題