base-14 で与えられた (3AC)。BASE-7に変換します。
簡単なアプローチは、最初に 3AC を BASE-10 に変換し、次に BASE-7 に変換して 2105 にすることです。
BASE-14 から BASE-7 に直接変換する方法はあるのでしょうか?
私は1つのアプローチを見つけました。
基数10、次に基数7を計算する必要はありません。この式を使用して計算できます。Xが基数14でX=a a(n-1)a(n-2).... a(0)として表されている場合
次に、ベース7では次のように記述できます。
X = ..... rqp
ここで、
p =(2 ^ 0)a(0)%7;
q =((2 ^ 1)a(1)+ p / 7)%7
r =((2 ^ 2)a(2)+ q / 7)%7
..........
n番目の項=((2 ^ n)a(n)+(n-1)th term / 7)%7
(ベース14の番号はベース7でより多くの桁を必要とするため、さらに進みます)。
論理は単純で、塩基の特性に基づいており、7が14の半分であるという事実を考慮に入れています。そうでなければ、退屈な作業でした。
例えば。ここでは3ACが与えられています。
C = 12;
したがって、最後の桁は(2 ^ 0 * 12)%7 = 5
A = 10
次の桁は(2 ^ 1 * 10 + 12/7)%7 =(20 + 1)%7 = 21%7=0
次は3;
次の桁は(2 ^ 2 * 3 + 21/7)%7 =(12 + 3)%7 = 15%7 = 1
次は何もありません(0);
次の桁は(2 ^ 3 * 0 + 15/7)%7 =(0 + 2)%7 = 2%7 = 2
したがって、ベース7の数値は2105になります。この方法は混乱を招き、難しいように思われるかもしれませんが、少し練習すれば、同様のタイプの問題を解決するのに非常に便利です。また、287AC23B362のように数値が非常に長い場合でも、少なくとも時間がかかる可能性のある基数10を不必要に見つけて、基数7を直接計算する必要はありません。
いいえ、14 は 7 の累乗ではないため、思い通りにする簡単な方法はありません。
このようなものについて私が知っている唯一のトリック (たとえば、16 進数から 2 進数に簡単に移行する) では、一方の基数が他方の基数になる必要があります。
http://mathforum.org/library/drmath/view/55783.htmlは、妥当で明確な答えを提供します。要するに、私が知っている方法からは少し面倒です。