ある番号体系から別の番号体系にオンラインで番号を変換します。 8 進法におけるある記数法から別の記数法へのオンライン変換 73
このオンライン計算機を使用すると、整数と分数をある記数法から別の記数法に変換できます。 詳細な解決策が説明付きで提供されます。 変換するには、元の数値を入力し、元の数値の基数を設定し、数値を変換する基数を設定して、[変換] ボタンをクリックします。 以下の理論部分と数値例を参照してください。
結果はもう届きました!
整数と分数をある記数法から別の記数法に変換する - 理論、例、解決策
位置番号体系と非位置番号体系があります。 私たちが日常生活で使用するアラビア数字体系は位置的ですが、ローマ数字体系は位置的ではありません。 位置記数法では、数値の位置が一意に数値の大きさを決定します。 10 進数の 6372 という数字を例にして考えてみましょう。 この数値にゼロから始めて右から左に番号を付けてみましょう。
この場合、数値 6372 は次のように表すことができます。
6372=6000+300+70+2 =6・10 3 +3・10 2 +7・10 1 +2・10 0 。
数字の 10 は番号体系を決定します (この場合は 10)。 指定された数値の位置の値が累乗として取得されます。
実数 1287.923 を考えてみましょう。 小数点以下の数字のゼロの位置から左右に番号を付けてみましょう。
この場合、数値 1287.923 は次のように表すことができます。
1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1・10 3 +2・10 2 +8・10 1 +7・10 0 +9・10 -1 +2・10 -2 +3・10-3。
一般に、式は次のように表すことができます。
Cn s n +C n-1 · s n-1 +...+C 1 · s 1 +C 0 ·s 0 +D -1 ·s -1 +D -2 ·s -2 +...+D -k ·s -k
ここで、C n は位置の整数です。 n、D -k - 位置の小数 (-k)、 s- 番号システム。
数値体系について少し説明します。10 進数体系の数値は多数の桁 (0、1、2、3、4、5、6、7、8、9) で構成されますが、8 進数体系では多数の桁で構成されます。 (0,1, 2,3,4,5,6,7)、2 進数系では - 一連の数字 (0,1) から、16 進数系では - 一連の数字 (0,1) 、2、3、4、5、6、7、8、9、A、B、C、D、E、F)、A、B、C、D、E、F は数字 10、11 に対応します。 12、13、14、15. 表 1 では、数字はさまざまな記数法で示されています。
表1 | |||
---|---|---|---|
表記 | |||
10 | 2 | 8 | 16 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | あ |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E | 15 | 1111 | 17 | F |
数値をある記数法から別の記数法に変換する
数値をある記数法から別の記数法に変換する最も簡単な方法は、まず数値を 10 進数法に変換し、次に 10 進数法から必要な記数法に変換することです。
数値を任意の記数法から 10 進数法に変換する
式 (1) を使用すると、数値を任意の記数法から 10 進数法に変換できます。
例 1. 数値 1011101.001 を 2 進数系 (SS) から 10 進数 SS に変換します。 解決:
1 ・2 6 +0 ・2 5 + 1 ・2 4+ 1 ・2 3+ 1 ・2 2+ 0 ・2 1 + 1 ・20+ 0 ・2 -1 + 0 ・2 -2 + 1 ・2 -3 =64+16+8+4+1+1/8=93.125
例2. 数値 1011101.001 を 8 進数体系 (SS) から 10 進数 SS に変換します。 解決:
例 3 。 数値 AB572.CDF を 16 進数系から 10 進数の SS に変換します。 解決:
ここ あ- 10 に置き換えられます。 B- 11時、 C- 12時、 F- 15時までに。
10 進表記法から別の表記法への数値の変換
数値を 10 進数システムから別の数値システムに変換するには、数値の整数部分と数値の小数部分を別々に変換する必要があります。
数値の整数部分は、数値の整数部分を記数系の底で順番に除算することによって、10 進数の SS から別の記数系に変換されます (2 進 SS の場合は 2 で、8 進 SS の場合は 8 で、16 で割ります)。 -ary SS - 16 倍など)、ベース CC 未満の残基全体が得られるまで。
例 4 。 数値 159 を 10 進数の SS から 2 進数の SS に変換してみましょう。
159 | 2 | ||||||
158 | 79 | 2 | |||||
1 | 78 | 39 | 2 | ||||
1 | 38 | 19 | 2 | ||||
1 | 18 | 9 | 2 | ||||
1 | 8 | 4 | 2 | ||||
1 | 4 | 2 | 2 | ||||
0 | 2 | 1 | |||||
0 |
図からわかるように。 図 1 では、数値 159 を 2 で割ると、商 79 と余り 1 が得られます。さらに、数値 79 を 2 で割ると、商 39 と余り 1 が得られます。 その結果、除算の余りから (右から左へ) 数値を構築すると、バイナリ SS の数値が得られます。 10011111 。 したがって、次のように書くことができます。
159 10 =10011111 2 .
例 5 。 数字 615 を 10 進数の SS から 8 進数の SS に変換してみましょう。
615 | 8 | ||
608 | 76 | 8 | |
7 | 72 | 9 | 8 |
4 | 8 | 1 | |
1 |
数値を 10 進数の SS から 8 進数の SS に変換する場合、8 未満の整数の余りが得られるまで、数値を 8 で順番に除算する必要があります。その結果、除算の余りから (右から左へ) 数値を構築すると、次の結果が得られます。 8 進数 SS の数値: 1147 (図2を参照)。 したがって、次のように書くことができます。
615 10 =1147 8 .
例 6 。 数値 19673 を 10 進数体系から 16 進数の SS に変換してみましょう。
19673 | 16 | ||
19664 | 1229 | 16 | |
9 | 1216 | 76 | 16 |
13 | 64 | 4 | |
12 |
図 3 からわかるように、数値 19673 を 16 で順次割ると、余りは 4、12、13、9 になります。16 進数体系では、数値 12 は C に、数値 13 は D に対応します。 16 進数は 4CD9 です。
通常の小数部 (整数部がゼロの実数) を基数 s の数体系に変換するには、小数部に純粋なゼロが含まれるまで、この数値に s を連続的に掛ける必要があります。そうしないと、必要な桁数が得られます。 。 乗算中に、ゼロ以外の整数部分を含む数値が得られた場合、この整数部分は考慮されません (結果には順番に含まれます)。
上記を例を挙げて見てみましょう。
例 7 。 数値 0.214 を 10 進数体系から 2 進数の SS に変換してみましょう。
0.214 | ||
バツ | 2 | |
0 | 0.428 | |
バツ | 2 | |
0 | 0.856 | |
バツ | 2 | |
1 | 0.712 | |
バツ | 2 | |
1 | 0.424 | |
バツ | 2 | |
0 | 0.848 | |
バツ | 2 | |
1 | 0.696 | |
バツ | 2 | |
1 | 0.392 |
図 4 からわかるように、数値 0.214 に 2 が順番に乗算されます。乗算の結果がゼロ以外の整数部分を持つ数値である場合、整数部分は別個に (数値の左側に) 書き込まれます。数値は整数部分が 0 で書かれます。 乗算の結果、整数部分がゼロの数値が得られた場合、その左側にゼロが書き込まれます。 乗算プロセスは、小数部分が純粋なゼロに達するか、必要な桁数が得られるまで継続します。 太字の数字 (図 4) を上から下に書くと、2 進数システムで必要な数値 0 が得られます。 0011011 .
したがって、次のように書くことができます。
0.214 10 =0.0011011 2 .
例 8 。 数値 0.125 を 10 進数体系から 2 進数の SS に変換してみましょう。
0.125 | ||
バツ | 2 | |
0 | 0.25 | |
バツ | 2 | |
0 | 0.5 | |
バツ | 2 | |
1 | 0.0 |
数値 0.125 を 10 進数の SS から 2 進数に変換するには、この数値に 2 を順次掛けます。3 番目の段階では、結果は 0 になります。その結果、次の結果が得られます。
0.125 10 =0.001 2 .
例 9 。 数値 0.214 を 10 進数体系から 16 進数の SS に変換してみましょう。
0.214 | ||
バツ | 16 | |
3 | 0.424 | |
バツ | 16 | |
6 | 0.784 | |
バツ | 16 | |
12 | 0.544 | |
バツ | 16 | |
8 | 0.704 | |
バツ | 16 | |
11 | 0.264 | |
バツ | 16 | |
4 | 0.224 |
例 4 と 5 に従うと、数値 3、6、12、8、11、4 が得られます。ただし、16 進数の SS では、数値 12 と 11 は数値 C と B に対応します。したがって、次のようになります。
0.214 10 =0.36C8B4 16 。
例 10 。 数値 0.512 を 10 進数体系から 8 進数の SS に変換してみましょう。
0.512 | ||
バツ | 8 | |
4 | 0.096 | |
バツ | 8 | |
0 | 0.768 | |
バツ | 8 | |
6 | 0.144 | |
バツ | 8 | |
1 | 0.152 | |
バツ | 8 | |
1 | 0.216 | |
バツ | 8 | |
1 | 0.728 |
得たもの:
0.512 10 =0.406111 8 .
例 11 。 数値 159.125 を 10 進数体系から 2 進数の SS に変換してみましょう。 これを行うには、数値の整数部分 (例 4) と数値の小数部分 (例 8) を別々に変換します。 これらの結果をさらに組み合わせると、次の結果が得られます。
159.125 10 =10011111.001 2 .
例 12 。 数値 19673.214 を 10 進数体系から 16 進数の SS に変換してみましょう。 これを行うには、数値の整数部分 (例 6) と数値の小数部分 (例 9) を別々に変換します。 さらに、これらの結果を組み合わせると得られます。
数値を 2 進数 SS から 8 進数および 16 進数へ、またはその逆に変換する
1. 2 進数から 16 進数への変換:
元の数値は 4 進数 (つまり 4 桁) に分割され、整数の場合は右から、分数の場合は左から始まります。 元の 2 進数の桁数が 4 の倍数ではない場合、整数の場合は左側に 4 までのゼロが埋め込まれ、分数の場合は右側にゼロが埋め込まれます。
各四進数は、表に従って 16 進数に置き換えられます。
1. 10011 2 = 0001 0011 2 = 13 16
2. 0.1101 2 = 0.D 16.
2. 16 進数から 2 進数へ:
16 進数の各桁は、表に従って 2 進数の 4 進数に置き換えられます。 テーブル内の 2 進数が 4 桁未満の場合は、左側が 0 から 4 まで埋め込まれます。
1. 13 16 = 0001 0011 2 = 10011 2
2. 0.2A 16 = 0.0010 1010 2 = 0.0010101 2.
3. 2進数から8進数へ
元の数値は、整数の場合は右側から、分数の場合は左側から始まる、トライアド (つまり 3 桁) に分割されます。 元の 2 進数の桁数が 3 の倍数ではない場合、整数の場合は左側に 3 までのゼロが埋め込まれ、分数の場合は右側にゼロが埋め込まれます。
各トライアドは表に従って 8 進数に置き換えられます
1. 1101111001.1101 2 =001 101 111 001.110 100 2 = 1571,64
2. 11001111.1101 2 = 011 001 111.110 100 2 = 317, 64 8
4. 8 進数を 2 進数に変換するには
8 進数の各桁は、表に従って 2 進数の 3 つ組に置き換えられます。 テーブル内の 2 進数が 3 桁未満の場合、整数の場合は左側に 3 までのゼロが埋め込まれ、分数の場合には右側に 3 までのゼロが埋め込まれます。
結果の数値内の重要でないゼロは破棄されます。
1. 305,4 8 = 011 000 101 , 100 2 = 11000101,1 2
2. 2516,1 8 = 010 101 001 110 , 001 2 = = 10101001110,001 2
5. 8 進数から 16 進数への変換、およびその逆の変換トライアドとテトラッドを使用したバイナリ システムを通じて実行されます。
1. 175.24 8 = 001 111 101、010 100 2 = 0111 1101、0101 2 = 7D.5 16
2. 426.574 8 = 100 010 110, 101 111 100 2 = 0001 0001 0110, 1011 1110 2 =116,BE
3. 0.0010101 2 = 0.0010 1010 2 = 0.2A 16.
4. 7B2,E 16 = 0111 1011 0010 .1110 2 = 11110110010.111 2
5. 11111111011,100111 2 = 0111 1111 1011,1001 1100 2 = 7FB,9C 16
6. 110001.10111 2 = 0011 0001.1011 1000 2 = 31.B8 16
コンピューターチップにとって重要なことは 1 つだけです。 信号がある (1) か、信号がない (0) かのいずれかです。 しかし、バイナリコードでプログラムを書くのは簡単ではありません。 紙の上では、0 と 1 の非常に長い組み合わせが得られます。 人にとってそれは難しいことです。コンピュータのドキュメントやプログラミングで使い慣れた 10 進法を使用するのは非常に不便です。 2 進数から 10 進数への変換、またはその逆の変換は、非常に労力を要するプロセスです。
8 進数の起源は、10 進数と同様に指で数えることに関連しています。 しかし、数える必要があるのは指ではなく、指の間のスペースです。 それらはたったの8つです。
この問題の解決策は 8 進数でした。 少なくともコンピューター技術の黎明期には。 プロセッサーの能力が小さいとき。 8 進数システムにより、2 進数を 8 進数に変換したり、その逆の変換が容易になりました。
8 進数体系は、8 を基数とする記数体系です。0 から 7 までの数字を使用して数値を表します。
変換
数値を 2 進数に変換するには、8 進数の各桁を 3 つの 2 進数で置き換える必要があります。 どの 2 進数の組み合わせが数値の桁に対応するかを覚えておくことだけが重要です。 それらは非常に少ないです。 たったの8人!10 進数を除くすべての記数法では、数字は一度に 1 つずつ読み取られます。 たとえば、8 進法では、数字 610 は「シックス、ワン、ゼロ」と発音されます。
数値体系をよく知っていれば、ある数値が他の数値にどのように対応するかを覚える必要はありません。
バイナリシステムは他の位置システムと何ら変わりません。 数値の各桁には が付いています。 制限に達するとすぐに、現在の桁がゼロにリセットされ、その前に新しい桁が表示されます。 一つだけメモ。 この制限は非常に小さく、1 に等しいです。
すべてがとてもシンプルです! ゼロは 3 つのゼロのグループとして表示されます - 000、1 はシーケンス 001 に変わり、2 は 010 に変わります。
例として、8 進数 361 を 2 進数に変換してみます。
答えは 011 110 001 です。または、重要でないゼロを破棄すると、11110001 になります。
2 進数から 8 進数への変換は、上記で説明したものと同様です。 数字の末尾から 3 連符に分割し始めるだけです。
著者 永遠のオウムセクションで質問しました 他の言語とテクノロジー
数値を 2 進数と 8 進数に変換し、最良の答えを得ました
Emil Ivanov[第一人者]さんからの回答
// Gennady の答えをチェックしてください!
// タスク: 100 (10) =? (2)。
(*「100(10桁)を2桁の数字体系に変換!」、
マークリットカフェのストリートテーブルの前を通ったときに偶然聞いたのですが、
(ソフィアの「エフティミー総主教」と「ボリス王子」の通りの角にて)2009年6月5日*)
解決策(大通りで多くの車が通過するのを待たなければならなかったので、大声で言いました):
方法 1 - 数値 100 を 2 で割って (1 になるまで)、割り算の余りを下から上 (左から右) に計算します。
100:2 = 50 I 0
50:2 = 25 I 0
25:2 = 12 I 1
12:2 = 6 I 0
6:2 = 3×0
3:2 = 1 I 1
1:2 = 1 I 1
100 (10) = 1100100 (2)
方法 II - 数値は、100 乗の小さい最大の数値 (数値 2) から始めて、数値 2 のべき乗に展開されます。
(数値 2 の累乗が事前にわからない場合は、次のように計算できます。
2~7度 128
2~6度 64
2~5度 32
2~4度 16
2~3度8
2~2度4
2対1度2
2~0度1)。
1. 64 <100 является первым слагаемым,
64 + 32 <100, (32 второе слагаемое)
64 + 32 + 16 > 100 (したがって、16 は項ではありません)
...
64 + 32 + 4 = 100 (4 は第 3 項であり、数値 100 が得られます)。
2. 各項(項目 1 から)の桁 ** には、数字 1、
残りのビットに 0 を書き込みます**。
** 数字の桁は 2 の累乗に対応します。
** たとえば、数字 2 は数字 2 の 2 乗に対応します。
数値 4 (数値 2 の 2 乗) は項であるため、ここでは 1 になるはずです。)
100 (10) = 64 +32 +4 = 1100100 (2)
// 2 × 8 の 3 乗なので、
数値を素早く変換するには:
1. 2桁から8桁の番号体系へ、
できる:
- 2 桁の数字を 3 つ組にグループ化します。
- 結果の 8 桁の数字をそれぞれの 3 つ組に書き込みます。
100 (10) = 1 100 100 (2) = 144 (8)
2. 8桁から2桁の番号体系へ、
2桁の番号体系の8桁の各桁を3桁で書くことができます。
100 (10) = 144 (8) = 1 100 100 (2)
からの回答 キティ[初心者]
コンピューター上の計算機とすべての問題を使用してください))))
からの回答 アレクサンダー・ラドコ[アクティブ]
Windows の電卓のビューをエンジニアリングに変更します))
次に、携帯電話のモデルを指定し、このリンクから何かを試してください。
からの回答 ゲンナディ[教祖]
良い一日。
簡単なアルゴリズムを覚えておいてください。
数値が 0 より大きい限り、それを系の底で割って、余りを右から左に書き込みます。 全て!
例。 13 を 2 進数に変換します。 等号の後には商と余りが続きます。
13: 2 = 6 1
6: 2 = 3 0
3: 2 = 1 1
1: 2 = 0 1
合計 13(10) = 1101(2)
他の根拠についても同様です。
逆変換は、各桁にシステムの底の対応する累乗を乗算し、その後に合計することによって実行されます。
1101 -> 1*2^2 + 1*2^2 + 0*2^1 + 1*2^0 = 1*8 + 1*4 + 0*2 + 1*1 = 8 + 4 + 0 + 1 = 13
たとえば、8 進数から 5 桁への変換は、これらの規則に従って 10 進数で行う必要があります。
これを理解すれば試験では携帯電話は必要ありません。
幸運を!