問題タブ [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.

0 投票する
11 に答える
25606 参照

boolean - Boolean true - 正の 1 または負の 1?

私は言語を設計しており、true0x01 か 0xFF かを決定しようとしています。明らかに、ゼロ以外の値はすべて true に変換されますが、正確な内部表現を決定しようとしています。

それぞれの選択の長所と短所は何ですか?

0 投票する
18 に答える
110925 参照

binary - 符号付き数値の符号と大きさよりも2の補数を好むのはなぜですか?

-1を2進数で表すために、2の補数が使用される理由があるかどうか、私はただ興味があります。ビットを反転して1を加算しますか?

-1は、最初のビットが負のフラグであるバイナリ1である10000001ではなく(私にとってはより直感的に)11111111(2の補数)で表されます。

免責事項:私は自分の仕事を2進演算に依存していません!

0 投票する
1 に答える
10745 参照

sql - SQLサーバーでの日時の内部表現は何ですか?

SQL Server (異なる場合は 2000 と 2005) に格納されている日時値の基になるデータ構造は何ですか? つまり、バイト表現まで?

おそらく、日時列を選択したときに得られるデフォルトの表現は、文化固有の値であり、変更される可能性があります。つまり、見えない基礎構造が YYYY-MM-DD HH:MM:SS.mmm にフォーマットされています。

私が尋ねる理由は、私の部門では、文字どおり YYYY-MM-DD HH:MM:SS.mmm としてメモリに格納されているという一般的な見解があるためですが、そうではないと確信しています。

0 投票する
3 に答える
479 参照

haskell - 部分的なアプリケーションは実行時にどのように表現されますか?

map (1+) listHaskell のようなものを書くとき、 の内部表現は(1+)何ですか? の部分適用なので(+)、引数1をどこかに保存しなければならないのですが、これが頭に浮かびません。カリー化と部分適用の実装方法を簡単に説明してもらえますか?

0 投票する
7 に答える
5455 参照

php - int((0.1 + 0.7)* 10)=7いくつかの言語で。これを防ぐ方法は?

最近、私はいくつかの言語でバグ/機能に出くわしました。私はそれがどのように引き起こされるかについて非常に基本的な知識を持っています(そして私はいくつかの詳細な説明が欲しいです)、しかし私が何年にもわたって作ったに違いないすべてのバグを考えるとき、問題はどうやって私が「ねえ、これは引き起こすかもしれないばかげたバグです。任意精度関数を使用したほうがいいです」、他の言語にはこのバグがあります(そして、そうでない言語、理由)。また、なぜ0.1 + 0.7がこれを行うのか、つまり0.1 + 0.3が行わないのか、他によく知られている例はありますか?

PHP

Python:

Javascript:

ルビー:

0 投票する
4 に答える
136 参照

javascript - タイムアウトは JavaScript でどのように表されますか?

set timeout を呼び出すと、たとえば数値が返されます

この番号を使用して通話できることはわかっていますclearTimeout()が、この番号は内部的に何を表しているのですか?

0 投票する
3 に答える
2662 参照

math - オーバーフローしない 2 の負の整数 (2 の補数) の減算

私はコンピュータアーキテクチャの教科書でこれに出くわしました:

厳密に負の整数を別の厳密に負の整数 (2 の補数) から減算しても、オーバーフローすることはありません。

教科書は、この主張を説明し続けていません。それは私の好奇心を刺激しました。

この記述が正しいのはなぜですか。

0 投票する
2 に答える
135 参照

evolutionary-algorithm - 遺伝的(進化的)アルゴリズムの適切なデータ表現を見つけようとしていますが、想像できません

免責事項

まず第一に、これは宿題なので、なぜそんなに不自然なのかと聞かないでください。(「何か変えたらどうですか?」とよく言われます)すみません… できません。

また、進化的アルゴリズムを使用する必要があります。つまり、親には子供がいて、突然変異/再結合し、新しい世代を形成し、最終的に解決策につながる可能性があります。

/免責事項

n*2長さ n の単語があります。n^2これらすべての単語を含むマトリックスを作成する必要があります。言葉は意味不明かもしれませんが、このマトリックスに収まる必要があります (これはユーザー側の要件です)。

したがってAGE,AGO,BEG,CAB,CAD,DOG、この結果が得られます(少なくとも2つのうち1つ):

進化的アルゴリズムを使用する必要があります。したがって、自分の情報を染色体にコード化する方法を見つける必要があります。

私が思いついたこと:

各単語は必ず表示され、マトリックス内の開始位置と向き (左右または上下) があります。したがって[Word][Orientation][StartPosition]、開始位置が[0][0]/ [0][1]/ [1][0]etc (左の列と一番上の行) です。ただし、制限があります。向きが開始位置に合っていることを検証する必要があります。

問題:

染色体は可能な解決策でなければなりませんが、これは解決策の一部にすぎません。

私の解決策は、「適合」するようにすべての単語を含む行列でなければならないため、染色体も何らかの方法で行列全体を表す必要があります。しかし、それにはいくつかの問題があります。1 つの方向で 1 つの開始位置から 1 つの単語しか持つことができません (最初の 2 つの単語を除いて、それらは異なる方向で同じ開始位置を共有します)。これが進化的アルゴリズムを試みる有効な方法とは思えません。特に突然変異/組換えなど、どの段階も機能しているとは思えません。

私はそれを完全に間違っていると考えていますか?もしそうなら...なぜですか?そして、大量のデータを持たずに、すべての段階 (生殖、突然変異/組換え、自然選択 ... 適応度を計算して新しい世代を開始できるようにする) を通過できるように、データをコーディングするにはどうすればよいでしょうか?ガベージ データ (単語が 2 回表示される、単語が失われる、開始位置と比較して単語の方向が間違っている) ?

編集

この表現を使用して、他の多くの自然にインスパイアされたアルゴリズムを実装するため、「適切な」データ表現が必要です。後で私を傷つける可能性のあるその場しのぎは何もありません。

正直いい方法が思いつきません。私には多くの制限があるからです (おそらく、これについて考えすぎて、それらを乗り越えることができず、実際には存在しない可能性があります)。バイナリ表現が本当に欲しいのですが、それは不可能に思えます。

0 投票する
3 に答える
736 参照

c++ - C++ インタープリターの作成 - break ステートメントのループ ターゲットの決定 c++

C ++で簡単なプログラムインタープリターを書いています。プログラムの内部表現を構築しているときに break ステートメントを取得した場合、どのように囲んでいるループのターゲット位置を決定すればよいですか?

私の break ステートメント オブジェクトは、while ステートメントのターゲットをパラメーターとして受け取ります。これを決定するにはどうすればよいですか?