問題タブ [primitive]

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 投票する
3 に答える
2041 参照

java - 10 進数値を決定する最も高速で最も効率的な方法は、Java で整数です

sizeValueという名前のdouble 変数sizeValueに 0 以外の値がsizeValue含まれている場合、値が整数であると判断する最も効率的な方法は何ですか?

現在、私は使用しています

sizeValue % 1 == 0

他のより速い方法はありますか?

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

java - プリミティブに関する簡単な質問

私の悪い例のためにこの質問を編集しました..これが私の更新された質問です:

以下は、速度とメモリ割り当てが同じですか。

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

c# - プリミティブ型は Java と C# で異なりますか?

コードを Java から C# に手動で変換しており、(私が呼んでいるもの) プリミティブ型に苦労しています (たとえば、Do autoboxing and unboxing behavior in Java and C# を参照)。回答から、double(C#) とDouble(C#) は同等であり、double(C#) はコンテナでも使用できることを理解しています。たとえば、ディクショナリのキーとして使用できます。ただし、double(Java) は HashMap のようなコンテナーでは使用できないため、(Java) に自動ボックス化されDoubleます。

  1. (C#) はプリミティブですかdouble、それともオブジェクトですか?
  2. doubleそれがプリミティブである場合、 (Java)とは異なる動作をする理由は何ですか?

double(C#) にしないと null に設定できませんnullable

  1. (C#)は(Java)double?と同等ですか? Doubleそれらは両方ともオブジェクトと呼ばれますか?

(「ファーストクラス オブジェクト」という用語の使用は、この議論で役に立ちますか?)

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

c# - JavaおよびC#での「プリミティブ」、「値型」、「構造体」、「クラス」、「ラップ」の定義

私は、JavaとC#での「プリミティブ」の使用と、それらの違い(存在する場合)を理解しようとしています。私はSOについて一連の質問をしましたが、いくつかの回答は問題を明確にするのではなく混乱させるようです。いくつかの回答(およびいくつかのMSドキュメント)は矛盾したステートメントを提供しているように見えます。SOから

およびMSから:http://msdn.microsoft.com/en-us/library/ms228360%28VS.80,lightweight%29.aspx- 「構造体はクラスに非常に似ています」-「クラスはデータ型をInt32ラップします」- int「一方、C#のすべてのプリミティブデータ型はSystem名前空間のオブジェクトです。データ型ごとに、短い名前またはエイリアスが提供されます。たとえば、intはSystem.Int32の短い名前です。」

私の混乱は主にC#にあります(私はしばらくの間Javaをプログラムしました)。

編集次の段落は@JonSkeetによって正しいことが確認されています

  • Javaには2つのタイプ(プリミティブとクラス)があります。「値型」という言葉は、プリミティブ(広く使用されていませんが)の同義語であり、クラスの「参照型」である可能性があります。Javaはプリミティブ(int)をクラス(整数)に「ラップ」し、これらのクラスは他のクラスの完全な能力を備えています(null、コレクションで使用など)

編集@JonはC#について非常に明確な声明を出しているので、提案された真実を削除して彼の答えを参照します。

さらなる質問:これらの用語の実際の使用法についてのコンセンサスはありますか?コンセンサスがあれば、それが明確に説明されていることに非常に感謝します。それ以外の場合は、用語が混乱しているため、使用が制限されていると思います。

まとめ非常に明確な回答をありがとうございます。これを本当に理解している人々の間にはコンセンサスがあり(@Jonからの受け入れられた回答を参照)、MSドキュメントは一貫しています(ただし、場所によってはJavaを参照しており、C#と誤解しています)

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

c# - .NET プリミティブと型階層、なぜこのように設計されたのですか?

.NET に, , , , , , Char,の 9 つの整数型がある理由を理解したいと思います。その他の数値型: 、、; そして、これらすべてのタイプはまったく関係がありません。ByteSByteInt16UInt16Int32UInt32Int64UInt64SingleDoubleDecimal

初めて C# でコーディングを始めたとき、「かっこいい、uint型がある。負の値が許可されていないときにそれを使用するつもりだ」と思いました。その後、APIuintが使用されていないことに気付きましたがint、それuintは から派生したものではないintため、変換が必要でした。

これらのタイプの実際のアプリケーションは何ですか? integer代わりに、とを持たないのはなぜpositiveIntegerですか?これらは私が理解できるタイプです。ある人の年齢はpositiveIntegerであり、positiveIntegerは のサブセットでintegerあるため、期待されるたびに変換する必要がありintegerます。

以下は、XPath 2.0 と XQuery 1.0 の型階層の図です。下xs:anyAtomicTypeを見ると、数値階層decimal> integer> long> int> short>が表示されますbyte。.NET がこのように設計されなかったのはなぜですか? 新しいフレームワーク「オスロ」は何か違いますか?

代替テキスト

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

java - クラスがわかっているときに(ボックス化された)プリミティブインスタンスを作成する

指定されたクラスタイプのインスタンスを返すメソッドが必要です。提供されるタイプが、それらの「空の」インスタンスを作成できるように制限されていると仮定しましょう。たとえば、指定するString.classと空の文字列Integer.classが返され、を指定すると初期値がゼロの整数が返されます。しかし、(ボックス化された)プリミティブ型をその場で作成するにはどうすればよいですか?このような?

考えられるすべてのプリミティブ型を反復処理する唯一の解決策ですか、それとももっと簡単な解決策がありますか?両方に注意してください

InstantiationException(nullaryコンストラクターがないため)をスローします。

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

c++ - openCL の上に構築された優れたサードパーティ ライブラリはありますか?

特に、FFT、畳み込み、相関、行列数学、あらゆる種類のマシン ビジョン プリミティブなどのプリミティブの処理について考えています。私はこれらの線に沿って何かを見つけることができませんでした.誰かが芽生えた良いプロジェクトを知っていますか?

0 投票する
6 に答える
15988 参照

c - Cでポリゴンを描く

数学を吸うだけで、2つのポイント(中心と頂点の1つ)が与えられた「n」辺のポリゴンを描画する必要があります。私はたくさん読んでいます、そしてこれは私がそれを理解することができたものです(私はそれが正しいかどうかわかりません):

わかりました。ピタゴラスの定理を使用して、2点(半径)間の距離を取ります。

そして、この2つのポイント間の角度は次のようにatan2を使用します。

ここで、xc、ycは中心点であり、x、yは既知の唯一の頂点です。

そしてそのデータで私はします:

問題は、ポリゴンのように線を描画しないため、プログラムが正しく機能しないことです。

誰かが手を差し伸べるのに十分な数学をどのように知っていますか?このグラフィックスプリミティブでCおよびturboCを使用して作業しています。


編集:ポリゴンを塗りつぶしたくないので、描画するだけです。

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

c - 塗りつぶしアルゴリズム

私はターボC ++を使用してCの単純なグラフィカルライブラリで作業しています。これは、ペイントスタイルプログラムの非常に原始的なバージョンを開発しているためです。すべてがうまく機能しますが、フラッドフィルアルゴリズムを機能させることができません。4 方向のフラッド フィル アルゴリズムを使用しています。最初に再帰バージョンを試しましたが、小さな領域でしか機能せず、大きな領域を埋めるとクラッシュします。読むと、明示的なスタックバージョンを実装すると問題が解決することがわかりましたが、実際にはわかりません。

私はこのようなスタックを開発しました:

そして、これは私がフラッドフィル関数に作成したコードです:

しかし、それでも機能しません。大きな領域を塗りつぶそうとすると停止します。プログラムで解像度 640 X 480 で作業しているため、これは本当に問題です。なぜそれがうまくいかないのですか?

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

java - プリミティブフィールドのタイプを確認してください

オブジェクトのフィールドのタイプを判別しようとしています。オブジェクトが渡されたときのタイプはわかりませんが、longsであるフィールドを見つける必要があります。ボックス化されたsを区別するのは簡単ですLongが、プリミティブlongはより難しいようです。

渡されたオブジェクトには、プリミティブではなく、のみが含まれていることを確認できますLongsが、そうではありません。だから私が持っているのは:

うまくいくように見えるハッキーな方法はこれです:

もしあれば、これを行うためのよりクリーンな方法が本当に欲しいです。より良い方法がない場合は、受け取ったオブジェクトにLong(ではなくlong)のみを使用するように要求する方が、より優れたAPIになると思います。

何か案は?