1

任意の数 (整数または長い 10 進数) を任意の基数に (理由の範囲内で) 変換する必要がある C# のプログラムについて助けが必要です。

プログラムにはいくつかのテキスト ボックス (win フォーム) があり、すべて空白で始まります。ユーザーがボックスの 1 つに数字 (場合によっては 10 進数) を追加すると、すべてが更新されます。デフォルトのボックスは基数 2、8、10、16 で、最後のボックスには選択した基数を入力するためのサブボックスがあります (たとえば、ユーザーが基数 16 を基数 7 に変換したい場合)。

コンバート以外でベースコンバートができる作品を私は知りません。

これを行う方法がわからない場合は、少なくともこれを手動で行う方法を説明することは素晴らしいことです! 8進数で64.96(ベース10)は何ですか?

これは個人的なプロジェクトです。私は課題を設定し、プログラムを完了するために着手しました...

助けてくれてありがとう!!

編集:C#でこれを行うにはどうすればよいですか? int BaseX は、取得する必要があるベースです。int preBaseX は、私が由来するベースです。decimal outputNumber は、探している数値です。10 進数の inputNumber から始めます。(650.3112 などでもかまいません)

4

1 に答える 1

2

64.96 を 8 進数に変換するには、最初に表示したい「8 進数」を何桁超えるかを決定します。3 が必要だとしましょう。次に、数値に 8^3 または 512 を掛けます。

64.96 * 512 = 33259.52

小数部分を破棄します。ところで、これはあなたの表現が 64.96 からどれだけ離れているかです。あなたの答えは 0.52/512 = 0.001015625 小さすぎます。

さて、変換です。数値 (33259) を 8 で繰り返し割り、剰余を追跡します。

33259 / 8 = 4157 remainder 3
4157  / 8 = 519  remainder 5
519   / 8 = 64   remainder 7
64    / 8 = 8    remainder 0
8     / 8 = 1    remainder 0
1     / 8 = 0    remainder 1

次に、残りを逆の順序で取り、最後から「8 進数」3 を挿入します。

100.753

于 2013-11-04T17:50:52.687 に答える