ユーザーが入力した数値を取り込み、配列に格納するプログラムを作成しています。プログラムは値を10進数に変換し、新しい配列に格納します。バイナリ値を正しいビットサイズに変換するのに問題があります。正しいビットサイズでC++でDecimalをBinaryに変換する
たとえば、ユーザは3
と4
と入力します。 私のプログラムはそれらを格納し、バイナリに変換して、11
と100
になります。 011
と100
を保存するにはどうすればよいですか?
文字配列や文字列に変換する必要があるとは思いますが、どの手順を実行する必要があるかわかりません。
std :: string binary = std :: bitset <8>(num).to_string();を使用できます。ここで8は必要なバイナリの長さを表し、numはユーザーが渡したnumです。 –
3が11の場合は正しい出力を得ていますが、まだ011と同じですので、その点が表示されません。あなたの問題は、ユーザータイプの高さと追加したいゼロの数を決して知らないことだと考えてください。あなたがしたいことは無意味だと結論づけてください。 – FieryCod
3ビットのビットフィールドを使用しているのでなければ、3ビットだけを格納することはできません。まだバイナリに格納していても、 '11' == '011'です。あなたの質問は理にかなっていません。 – EJP