問題タブ [internal-representation]
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.
algorithm - 基数 4 表現での超過 (-1)
ここ数日間、この 1 つの問題に頭を悩ませようとしてきましたが、解決方法がわかりません。それで、ここに行きます:
基数 4 (数値の数字として 0、1、2、3) が与えられた場合、負または正の整数の基数 4 表現で超過 (-1) を見つけます。例: -6 = (-1)22 逆に、基数 4 の (-1) を超える (-1)22 = 2 * 4^0 + 2 * 4^1 + (-1) * 4^2 = 2 + 8 - 16 = 10 - 16 = -6 基数 10
27 = 2(-1)(-1) 逆に、2(-1)(-1) = (-1) * 4^0 + (-1) * 4^1 + 2 * 4^2 = -1 - 4 + 32 = 27
正の数のアルゴリズムをいくつか思いついたのですが、すべての負の数に当てはまるアルゴリズムはなかったため、ゴミ箱に入れました。
ここで何か手がかりを教えてくれる人はいますか?ありがとう!
----------------
編集:混乱を招かないように、この質問を言い換えてみます。
すべての桁から 1 を引いて得られる基数を考えてみましょう。これは基数 4 の超過 (-1) と呼ばれます。この基数では、数字 -1、0、1、2 を使用して任意の数を表すことができます。入力として任意の整数を取得し、その指定された数値の表現を出力として与えるアルゴリズム。
例:
10 進数 -6 = -1 2 2 (基数 4 の超過 (-1))。
これを確認するために、表現 -1 -1 2 を 10 進数に変換し、右端の数字から始めて、一般的な基数 n から基数 10 のアルゴリズムを使用します。
数値 = 2 * 4^0 + 2 * 4^1 + (-1) * 4^2 = 2 + 4 - 16 = -6
c++ - C++ 配列とポインターの sizeof の結果
x86_64 アーキテクチャでは、ポインターは 8 バイトです。sizeof(x)
8 を返す必要があるのは理にかなっています。 achar
は 1 バイトであり、5 バイトは array のサイズであることを理解していますz
。sizeof(z)
8 を返さない理由の背後にある直感は何ですか?
pointers - Haskellランタイムは遅延値をどのように表現しますか?
私はこの質問をどのように表現したらよいかさえわかりません。評価されていない式へのポインタがあると仮定します。要求された場合 (強制する厳密な関数によって)、ポインター値は評価された値に置き換えられます。右?私が間違っている?
したがって、すべてのポインターには、評価されたかどうかを示すフラグがあると思います。
空のリストの先頭のように、評価が未定義の場合はどうなるでしょうか? 「ポインタ」には何が格納されていますか?