welcome: please sign in
location: "算術演算"の差分
2と3のリビジョン間の差分
2011-09-16 05:43:50時点のリビジョン2
サイズ: 1165
編集者: masahiko
コメント:
2011-09-16 05:50:20時点のリビジョン3
サイズ: 1778
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 2: 行 2:

数値を扱う基本データ型には次のものがあります。
 ||型||長さ||値||
 ||byte||1バイト||整数 -128 から 127||
 ||short||2バイト||整数 -32,768 から 32,767||
 ||int||4バイト||整数 -2,147,483,648 から 2,147,483,647||
 ||long||8バイト||整数-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807||
 ||float||4バイト||浮動小数点 およそ±3.40282347E+38(6桁)||
 ||double||8バイト||浮動小数点 およそ±1.79769313486231570E+308(15桁)||
 ||char||16ビット||Unicode文字||
 ||boolean|| ||真偽値 true または false||

算術演算

数値を扱う基本データ型には次のものがあります。

  • 長さ

    byte

    1バイト

    整数 -128 から 127

    short

    2バイト

    整数 -32,768 から 32,767

    int

    4バイト

    整数 -2,147,483,648 から 2,147,483,647

    long

    8バイト

    整数-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807

    float

    4バイト

    浮動小数点 およそ±3.40282347E+38(6桁)

    double

    8バイト

    浮動小数点 およそ±1.79769313486231570E+308(15桁)

    char

    16ビット

    Unicode文字

    boolean

    真偽値 true または false


Cとの違い

  • 基本データ型のバイト数は処理系によらず決まっています。
  • 数値の型変換
    • 計算式の中で型が混在した場合、 byte → short → int → long → float → double の方向にのみ変換が行われます。
  •  int i;
     i = 1.25 * 3 * 4;
  • 代入文の右辺に 1.25 があるため 3 や 4 は double に変換して計算されます。(ここまではOK)
  • その後 int に変換して i に代入しようとしています。
  • Cではこれで動作しますが、Javaではdoubleをintに変換できずエラーとなります。
  • 型変換を強制するにはキャスト演算子を用いて次のように記述します。(JavaでOK)
     i = (int)(1.25 * 3 * 4);
  • charは16ビットです。
  • charとintの変換は行われません。
  • charの配列は文字列とは異なります。
  • boolean以外を論理演算や条件に用いることはできません。
  • 次のような書き方も間違いです。
     int k;
     ...
     while ( k ) {
       ...
     }

算術演算 (最終更新日時 2012-03-22 01:37:16 更新者 masahiko)