問題タブ [base-conversion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Javaを使用した大きな整数の基数変換
私は次のコードを書きました:
上記のコードを使用すると、"suchin" (ベース 31) などの文字列を他のベースに変換できます。しかし、「そのような」など、より大きなものを使用するたびに、上記のコードの次の行で例外が発生します。
インデックスが-1だと言っています。もう少し掘り下げてみると、 rem.intValue() が何らかの大きな値に対して負 (-1) になっているように感じました。これを解決する方法がわかりません。Javaで大きな数の基数を変換する方法はありますか?
コードの BigInteger バージョンは次のとおりです。
上記のコードは現在正常に動作します。以前は、次のことを行っていました。
どうやらそれは BigIntegers で比較する方法ではなかったため、無限ループを引き起こしていました:)
java - forループを使用して10進数を2進数に変換する方法は?
たとえば、15 と入力すると、1111 のはずの 1110 が返されます。ps この結果は、右から左に読み取られます。
php - php が高基数に使用する文字は何ですか?
基数 16 は文字 [0-9a-f] を使用し、基数 36 は [0-9a-z] を使用することは知っていますが、基数 40 はどうでしょうか? ベース50?基数[任意の数]? PHPは、高基数に使用する文字をどのように決定しますか?
assembly - MIPS、アセンブリ MARS で 2 進数を 10 進数に変換
MARS シミュレーターを使用して、MIPS 言語で 2 進数を 10 進数に変換しようとしています。このプログラムは 2 進数を受け入れ、乗算 (数値の桁 $t9 だけ左にシフト) によって変換を行います。別の言い方をすると、各 1 桁に 2 の累乗をかけ、その結果を合計します。
ascii と 10 進数の間で値がどのように格納され、伝達されるかについてよく理解していません。問題は、「合計」が 10 進数の 2 進数の値ではなく 40,000 になることです。ここで何が間違っていますか?
java - parseInt を使用せずに、10 進数 (Base 10) を対応する Binary (Base 2) に変換する
バックグラウンド
大学の課題で、4 桁の 16 進数で表されるパターンを描く必要があります。これまでのところ、少し小さなことを除いて、必要なすべてを作成することができました。コードにバグがあり、A から F (または 10 進数の 10 から 17) の間の 16 進数値が役に立たなくなります。
16 進数から 10 進数値を取得し、それを 2 進数値に変換するメソッドを作成しました。
これが私が得た結果のリストです:
出力は、実際には本来あるべきものの逆です。そもそも出力を逆にしたり、コードを正しい順序で出力したりするにはどうすればよいですか?
編集#2
元の投稿で言及されているように、ここでの問題は次のとおりです。
正しく動作しておらず、2 進数を逆順に出力しています。要するに、変換を行うコードは次のとおりです。
php - PHP でのリバース カスタム ベース エンコード
カスタムベース配列を使用して、整数をランダムに見える一意の最大5文字の文字列にエンコードするプログラムがあります。その文字列を整数にデコードしたいと思います。それを達成する方法がわからない。
コード:
出力: 数: 1234 変換: afu
「afu」のようなものをデコードできるようにしたいです。
c - 基数を変換する再帰関数が特定の数値で失敗する
基数 10 の数値を基数 n の数値 (n は最大 10) に変換できるアルゴリズムを作成しようとしています。しかし、いくつかの奇妙な理由により、C の次のアルゴリズムは各基数の特定の臨界点で失敗します。たとえば、基数 2 および基数 3 の変換では、それぞれ 1023 および 52,487 までのすべての数値が機能しますが、それを超える数値は奇妙な負の結果を生成します。なぜこれが起こっているのかわかりません。誰でも私を助けることができますか?
編集:
上記の print ステートメントの出力結果は次のとおりです。
base - 基数の float を別の基数の float に変換するアルゴリズムは何ですか?
あなたの誰かがこれを達成する方法を知っているかどうか尋ねたいです:
0.56のような floatがあるとしますが、基数 N で、それを基数 Tの float に変換したいのですが、どうすればそれを達成できますか? 公式か何かあるの?
たとえば、0.56を基数8から基数16に変換する必要がある場合、それが0.B8であることはわかっています(手動で0.56 (基数 8) を基数 2 -> 0.101110 に変換してから、ビットを 4 から始まるようにグループ化します)浮動小数点から、したがって 1011 & 10 (1000) は B および 8、したがって B8) です。
しかし、たとえば base 8 から base 6 にプログラムで変換したい場合はどうすればよいでしょうか? コードは必要ありません。これが自動的にどのように達成されるかを理解する必要があります。
注目してくれてありがとう!