問題タブ [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.
java - 10 進数値を決定する最も高速で最も効率的な方法は、Java で整数です
sizeValue
という名前のdouble 変数sizeValue
に 0 以外の値がsizeValue
含まれている場合、値が整数であると判断する最も効率的な方法は何ですか?
現在、私は使用しています
sizeValue % 1 == 0
他のより速い方法はありますか?
java - プリミティブに関する簡単な質問
私の悪い例のためにこの質問を編集しました..これが私の更新された質問です:
以下は、速度とメモリ割り当てが同じですか。
と
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
ます。
- (C#) はプリミティブですか
double
、それともオブジェクトですか? double
それがプリミティブである場合、 (Java)とは異なる動作をする理由は何ですか?
double
(C#) にしないと null に設定できませんnullable
。
- (C#)は(Java)
double?
と同等ですか?Double
それらは両方ともオブジェクトと呼ばれますか?
(「ファーストクラス オブジェクト」という用語の使用は、この議論で役に立ちますか?)
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#と誤解しています)
c# - .NET プリミティブと型階層、なぜこのように設計されたのですか?
.NET に, , , , , , Char
,の 9 つの整数型がある理由を理解したいと思います。その他の数値型: 、、; そして、これらすべてのタイプはまったく関係がありません。Byte
SByte
Int16
UInt16
Int32
UInt32
Int64
UInt64
Single
Double
Decimal
初めて 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 がこのように設計されなかったのはなぜですか? 新しいフレームワーク「オスロ」は何か違いますか?
java - クラスがわかっているときに(ボックス化された)プリミティブインスタンスを作成する
指定されたクラスタイプのインスタンスを返すメソッドが必要です。提供されるタイプが、それらの「空の」インスタンスを作成できるように制限されていると仮定しましょう。たとえば、指定するString.class
と空の文字列Integer.class
が返され、を指定すると初期値がゼロの整数が返されます。しかし、(ボックス化された)プリミティブ型をその場で作成するにはどうすればよいですか?このような?
考えられるすべてのプリミティブ型を反復処理する唯一の解決策ですか、それとももっと簡単な解決策がありますか?両方に注意してください
と
InstantiationException
(nullaryコンストラクターがないため)をスローします。
c++ - openCL の上に構築された優れたサードパーティ ライブラリはありますか?
特に、FFT、畳み込み、相関、行列数学、あらゆる種類のマシン ビジョン プリミティブなどのプリミティブの処理について考えています。私はこれらの線に沿って何かを見つけることができませんでした.誰かが芽生えた良いプロジェクトを知っていますか?
c - Cでポリゴンを描く
数学を吸うだけで、2つのポイント(中心と頂点の1つ)が与えられた「n」辺のポリゴンを描画する必要があります。私はたくさん読んでいます、そしてこれは私がそれを理解することができたものです(私はそれが正しいかどうかわかりません):
わかりました。ピタゴラスの定理を使用して、2点(半径)間の距離を取ります。
そして、この2つのポイント間の角度は次のようにatan2を使用します。
ここで、xc、ycは中心点であり、x、yは既知の唯一の頂点です。
そしてそのデータで私はします:
問題は、ポリゴンのように線を描画しないため、プログラムが正しく機能しないことです。
誰かが手を差し伸べるのに十分な数学をどのように知っていますか?このグラフィックスプリミティブでCおよびturboCを使用して作業しています。
編集:ポリゴンを塗りつぶしたくないので、描画するだけです。
c - 塗りつぶしアルゴリズム
私はターボC ++を使用してCの単純なグラフィカルライブラリで作業しています。これは、ペイントスタイルプログラムの非常に原始的なバージョンを開発しているためです。すべてがうまく機能しますが、フラッドフィルアルゴリズムを機能させることができません。4 方向のフラッド フィル アルゴリズムを使用しています。最初に再帰バージョンを試しましたが、小さな領域でしか機能せず、大きな領域を埋めるとクラッシュします。読むと、明示的なスタックバージョンを実装すると問題が解決することがわかりましたが、実際にはわかりません。
私はこのようなスタックを開発しました:
そして、これは私がフラッドフィル関数に作成したコードです:
しかし、それでも機能しません。大きな領域を塗りつぶそうとすると停止します。プログラムで解像度 640 X 480 で作業しているため、これは本当に問題です。なぜそれがうまくいかないのですか?
java - プリミティブフィールドのタイプを確認してください
オブジェクトのフィールドのタイプを判別しようとしています。オブジェクトが渡されたときのタイプはわかりませんが、long
sであるフィールドを見つける必要があります。ボックス化されたsを区別するのは簡単ですLong
が、プリミティブlong
はより難しいようです。
渡されたオブジェクトには、プリミティブではなく、のみが含まれていることを確認できますLongs
が、そうではありません。だから私が持っているのは:
うまくいくように見えるハッキーな方法はこれです:
もしあれば、これを行うためのよりクリーンな方法が本当に欲しいです。より良い方法がない場合は、受け取ったオブジェクトにLong
(ではなくlong
)のみを使用するように要求する方が、より優れたAPIになると思います。
何か案は?