問題タブ [data-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.
c++ - const_cast は実際のコードの放出を引き起こしますか?
const_castは、コンパイラーに「うめき声をやめ、これを非 const ポインターとして扱う」ように伝える方法にすぎないというのは本当ですか? const_cast自体を実際のマシンコードに変換する場合はありますか?
binary - 「2の補数」とは?
私はコンピューター システムのコースにいて、部分的に2 の補数に苦労しています。私はそれを理解したいと思っていますが、私が読んだすべてが私のために絵をまとめていません. ウィキペディアの記事や、テキストブックを含む他のさまざまな記事を読みました。
したがって、このコミュニティ wiki投稿を開始して、2 の補数とは何か、それを使用する方法、およびキャスト (符号付きから符号なしへ、またはその逆)、ビットごとの操作、ビットシフト操作などの操作中に数値にどのように影響するかを定義したいと思いました。 .
私が望んでいるのは、プログラマーが簡単に理解できる明確で簡潔な定義です。
c - C での動的型付けの表現
私は動的型付け言語を書いています。現在、私のオブジェクトは次のように表されています。
目標は、すべてを として渡し、属性struct Object*
を比較してオブジェクトのタイプを発見できるようにすることです。class
たとえば、使用するために整数をキャストするには、次のようにします (integer
タイプが であると仮定しますstruct Class*
)。
問題は、私が知る限り、C 標準では構造体の格納方法が保証されていないことです。私のプラットフォームでは、これは機能します。しかし、別のプラットフォームでは、前にstruct String
保存し、上記でアクセスしたときに、実際にはにアクセスしている可能性があり、これは明らかに悪いことです。ここでの移植性は大きな目標です。value
class
foo->class
foo->value
このアプローチの代替手段があります。
ここでの問題は、共用体に格納できる最大のもののサイズと同じくらいのスペースを共用体が使用することです。一部の型が他の型の何倍も大きいことを考えると、これは、小さな型 ( int
) が大きな型 ( ) と同じくらいのスペースを占有することを意味し、map
これは受け入れがたいトレードオフです。
これにより、動作が遅くなるレベルのリダイレクトが作成されます。ここでは速度が目標です。
最後の選択肢は、 s を渡しvoid*
、構造体の内部を自分で管理することです。たとえば、上記の型テストを実装するには:
これにより、私が望むすべて (移植性、異なるタイプの異なるサイズなど) が得られますが、少なくとも 2 つの欠点があります。
- 恐ろしい、エラーが発生しやすい C. 上記のコードは、単一メンバーのオフセットのみを計算します。整数よりも複雑な型ではさらに悪化します。マクロを使えば少しは軽減できるかもしれませんが、これはどう考えても痛いです。
- オブジェクトを表すものがないため
struct
、スタック割り当てのオプションはありません (少なくとも、ヒープに独自のスタックを実装する必要はありません)。
基本的に、私の質問は、どうすればお金を払わずに欲しいものを手に入れることができるでしょうか? 移植性があり、タイプごとにサイズが異なり、リダイレクトを使用せず、コードをきれいに保つ方法はありますか?
編集: これは、SO の質問に対して私が今まで受け取った中で最高の応答です。答えを選ぶのは難しかった。SO では 1 つの回答しか選択できないため、解決策につながる回答を選択しましたが、皆さんは賛成票を受け取りました。
data-structures - ボウリングのピンのようなデータ構造の名前は?
初めまして、タイトル失礼します。誰かがより良いものを提案してください。質問を適切に表現する方法が本当にわかりませんでした。
基本的に、要素が次のように見えるデータ構造の名前を探しているだけです (ドットは無視してください)。
……5
....3...2
...4...1...6
9...2...3...1
最初はある種の「木」ではないかと思ったのですが、ウィキペディアには次のように書かれています。
ツリーは [...] 非巡回接続グラフであり、各ノードには 0 個以上の子ノードと最大 1 つの親ノードがあります
私が探しているデータ構造には、ノードごとに複数の親が存在する可能性があるため、おそらくツリーではありません。
だから、ここに私の質問があります:
次の要素間のリンクでデータを表現できるデータ構造の名前は? (/ と \ はリンクです。ドットは無視してください):
……5
...../..\
....3...2
.../..\./..\
...4...1...6
../.\./..\./..\
9...2...3...1
algorithm - セットの視覚的表現
いくつかの実験データがあり、それらをセットとして表すことにしました。
たとえば、 E={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s}というメイン セットがあるとします。 (青い円) と、メイン セットEの要素を含むいくつかのサブセットB (赤い点線の楕円) 。
これらのサブセットをメイン セットEで表し、それらの交差を示す必要があります。多かれ少なかれ下の図に似ています。
そのため、その図を描くにはいくつかのアルゴリズム (例を含む) が必要です。Webアプリケーションでこの問題を実装する予定なので、できればPHPまたはJavascript(SVG仕様を使用)で。
よろしくお願いします!
sql - 特定のデータベース設計に関する質問
私の現在のデータベースは、次のテーブルで構成されています。
与えられた質問のユーザー評価を保存する -
質問とその ID を保存します -
質問同士の関係を保存する -
各質問は、少なくとも 1 つの他の質問に関連しています。たとえば、質問 1 と質問 2 は、質問 1 の平均評価が質問 2 の評価よりも高いと予想されるという点で関連している可能性があります。この関係は、「関連」テーブルに次のように格納されます。
INSERT INTO related (qid, related_qid, relationship) VALUES (1, 2, gt)
ここで、「gt」は「より大きい」を意味します。
問題は、関係のエンコードがまったくエレガントに見えないことです。誰かがより良い解決策を持っていますか?
sql - トランプのデッキをデータベースに保存する最良の方法は何ですか?
私はデータベースに手のデッキを保存する必要があるアプリケーションに取り組んでいます。これをデータベースで表現する最良の方法が何であるかはわかりません。
デッキは、アプリケーションによってそれぞれ 13 枚のカードを保持する 4 つのハンドに事前に配られます。その後、手とスーツの配布などの追加データを保存する必要があります...
手札ごとに別の行を作成し、それをデッキに関連付けるのが最善ですか? それとも一列に並べたほうがいいのでしょうか?
また、それらをテキストまたは数値として保持する必要があるかどうかもわかりません。次に例を示します。
または
何か案は?
PS: カードを保管するのには理由があります。ハンドの分布、高いカード ポイントなどを分析する必要があります...
c - バイナリデータとは何ですか?
gcc 4.6.0
バイナリデータはどのように見えますか?それはすべて1と0ですか。
文字列とバイナリデータのコピーについて別のプログラマーと話していたので、私はただ疑問に思っていました。
通常、私はstrcpy / strncpy関数を使用して文字列をコピーし、memcpy/memmoveを使用してバイナリデータをコピーします。しかし、私はそれがどのように見えるのか疑問に思っていますか?
提案をありがとう、
types - 浮動小数点と整数のErlangバイナリ表現、不一致?
別のErlangバイナリ表現クエリを取得しました('cozは最近私が読んでいるものであり、バイナリプロトコルの実装が必要です)。
型指定子を正しく理解していれば、「浮動小数点」型の値の場合、8バイト表現で問題ないように見えます(これは64ビットWin7の場合です)。
しかし、私を困惑させたのは、「整数」型の値のバイナリ表現でした。
それらすべてが1バイトで表されるのはなぜですか?誰かがこれを説明できますか?