数体系と配列の操作を練習するために、10 進数から 2 進数への変換関数を作成しました。私はintをバイナリに変換し、各文字を配列に格納したか、または配列に格納し、画面に表示しましたが、知らない文字が表示されています。コードとコンソール アプリの写真を示します。
前もって感謝します。
数体系と配列の操作を練習するために、10 進数から 2 進数への変換関数を作成しました。私はintをバイナリに変換し、各文字を配列に格納したか、または配列に格納し、画面に表示しましたが、知らない文字が表示されています。コードとコンソール アプリの写真を示します。
前もって感謝します。
次の理由により、出力関数が正しくないバイナリ テキストを出力します。
1) '\0' まで出力文字を数えます。これにより、関数は int のバイナリ表現で最初の 0 を取得するまで出力を修正します (たとえば、5 = 101 の場合、コード 0x01 の笑顔を 1 つだけ出力します)。
2) 配列の最後の文字が '\0' ではないため、cout は '\0' またはメモリ アクセス例外までガベージを出力します。
結果に数値文字 ( など'1'
) を挿入したい場合がありますが、文字値を割り当てます。の値を追加して'0'
、読み取り可能な結果を取得してみてください ( remainder + '0'
)。
結果の配列を文字列として解釈する場合 (これは私が提案したことです)、c 文字列の末尾をマークするために、最後の文字を値0
(! ではありません) に設定する必要もあります。'0'