0

数体系と配列の操作を練習するために、10 進数から 2 進数への変換関数を作成しました。私はintをバイナリに変換し、各文字を配列に格納したか、または配列に格納し、画面に表示しましたが、知らない文字が表示されています。コードとコンソール アプリの写真を示します。ここに画像の説明を入力

前もって感謝します。

4

2 に答える 2

0

次の理由により、出力関数が正しくないバイナリ テキストを出力します。

1) '\0' まで出力文字を数えます。これにより、関数は int のバイナリ表現で最初の 0 を取得するまで出力を修正します (たとえば、5 = 101 の場合、コード 0x01 の笑顔を 1 つだけ出力します)。

2) 配列の最後の文字が '\0' ではないため、cout は '\0' またはメモリ アクセス例外までガベージを出力します。

于 2013-07-17T06:40:42.777 に答える
0

結果に数値文字 ( など'1') を挿入したい場合がありますが、文字値を割り当てます。の値を追加して'0'、読み取り可能な結果を​​取得してみてください ( remainder + '0')。

結果の配列を文字列として解釈する場合 (これは私が提案したことです)、c 文字列の末尾をマークするために、最後の文字を値0(! ではありません) に設定する必要もあります。'0'

于 2013-07-17T06:39:21.113 に答える