shortintおよびlongintデータ型とfloat doubleデータ型の違いは何ですか?


ベストアンサー

差B / w短整数と長整数

差は非常に小さいですが、場合によっては非常に重要になることがあります。 2番目に重要な目的をプログラミングするとき(プログラムに想定どおりの動作をさせた後)は、メモリを節約してプログラムをできるだけ高速に実行することです。ここでキーワード「long」が登場します。longは整数ですが、整数は正確に長く理解されていませんか?「short」もあります。通常、これらは後にintで参照されますが、必須ではありません。メインそれらの違いはサイズです。コンピュータによって異なりますが、ほとんどの場合、「short」は2バイト、「long」は4バイト、「int」は2または4バイトです。プログラムでは宣言することが重要です。可能な限り多くのメモリを節約できるように、数値がどれだけ大きくなり、どのくらいの頻度で変更されるかが正確にわかっている場合は、短いまたは長い整数のサイズに依存する範囲であるかどうかは2バイトまたは4バイトです。サイズと値を参照するための表を次に示します。

タイプのサイズ範囲

short int 2バイト-32,768〜32,767

long int 4バイト-2,147,483,648〜2,147,483,647

int(16ビット) 2バイト-32,768〜32,767

int(32ビット)4バイト-2,147 、483,648〜2,147,483,647

浮動小数点数と倍数の差

浮動小数点数、実数とも呼ばれます数値は、小数精度を必要とする式を評価するときに使用されます。たとえば、平方根などの計算、または正弦や余弦などの超越数の計算では、精度に浮動小数点型が必要な値が得られます。 Javaは、浮動小数点型と演算子の標準(IEEE–754)セットを実装しています。浮動小数点型には、floatとdoubleの2種類があり、それぞれ単精度と倍精度の数値を表します。それらの幅と範囲は次のとおりです。

ビット範囲での名前の幅

double 64 1 .7e–308〜1.7e + 308

float 32 3 .4e–038〜3.4e + 038

これらのそれぞれ次に、浮動小数点型が調べられます。

浮動小数点

タイプfloatは、32ビットのストレージを使用する単精度値を指定します。一部のプロセッサでは単精度の方が高速で、倍精度の半分のスペースを必要としますが、値が非常に大きいか非常に小さい場合は不正確になります。 float型の変数は、小数部分が必要な場合に役立ちますが、精度はそれほど必要ありません。たとえば、floatは、ドルとセントを表す場合に役立ちます。

float変数の例を次に示します。宣言:

float hightemp、lowtemp;

double

doubleキーワードで示される倍精度は、64ビットを使用して値を格納します。倍精度は、高速数学用に最適化された一部の最新のプロセッサでは、実際には単一精度よりも高速です。計算。sin()、cos()、sqrt()などのすべての超越的な数学関数はdouble値を返します。多くの反復計算で精度を維持する必要がある場合、または大きな値の数値を操作する場合は、doubleが最適です。 。

これは、double変数を使用して円の面積を計算する短いプログラムです。

//計算th円の面積。

クラス面積{

public static void main(String args []){

double pi、r、a;

r = 10.8; //円の半径

pi = 3.1416; // pi、およそ

a = pi * r * r; //面積を計算します

System.out.println( “円の面積は” + a);

}

}

回答

いつものように、状況によって異なります。ショートとロングの正確なサイズはコンパイラの実装者に任されており、コンパイラの実装者はターゲットアーキテクチャに最適な表現を選択します。 sizeof(short) == sizeof(int) == sizeof(long)である可能性がありますが、可能性は低いです。つまり、すべて同じです。唯一の保証は、ショートのサイズがロングのサイズ以下であるということです。ロングのサイズ以下です。正確なサイズについては、ヘッダーを使用してください。または、醜い詳細を抽象化するには、std::numeric\_limitsテンプレートを使用します。

同様の理由がfloatと倍精度ですが、ここではfloatが単精度浮動小数点数(4バイト)を表し、doubleが次のようになる可能性が高くなります。倍精度浮動小数点数(8バイト)。 IEEE 754 を想定したソフトウェアが多すぎるため、コンパイラの作成者がルールから逸脱する可能性は低くなります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です