"無限"の数の算術演算(加算、減算、乗算)を行うことができるHugeIntegerというクラスをプログラミングしました。数字の各ビットを独立した数字(例えば1234 = 1,2,3,4)として扱います。私はこれらの数字をベクトル(vector<short>)
に保存します。さて、各桁は0から9の値しか取ることができないので、実際には2バイトの数字として格納する必要はありません。数字を1バイトの符号なし整数として格納する方法はありますか?ありがとう!1バイトの符号なし整数C++
更新:
vector<unsigned char> v;
v.push_back(1);
v.push_back(2);
for (size_t i = 0; i < v.size(); i++)
cout << v[i];
これは、不要な出力を生成します。ベクトルを反復処理するために使用するデータ型はどれですか?
なぜ 'char'を使用しないのですか? – jwodder
ヘッダーは、環境がそのようなタイプをサポートしている場合、 "uint8_t"という名前のタイプを提供します。 "uint8_t"は "unsigned char"のtypedefになります。したがって、すべての場合にオーバーロードが期待通りに機能しない可能性があります。 –
nosid
'unsigned char'はC++の" 1バイトの符号なし整数 "です。なぜあなたの問題を解決したくないのですか? –