JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 整数とは

整数

日本語 整数
英語 integer
ふりがな せいすう
フリガナ セイスウ

解説

小数部のない数。
小数点以下のない、切りのいい値。
つまり浮動小数点ではない数。「100」や「-20000」といった数が整数であり、「2.5」といった浮動小数点は該当しない。
整数値は以下のプリミティブ型で格納できる。
 
byte
char
short
int
long
 
それぞれ、格納できるサイズが異なるが、格納形式はどれも同じである。
変数ビットの並びと見た場合、値が1増えるごとに、2進数計算で右端から1ずつ増えていく。右端から4ビットだけ見れば、0が0000、1が0001、2が0010、となる。

サイズが大きくなればなるほど、並ぶビットの数が増えるため、それだけ表現できる数が増え、最大値・最小値が増えることになる。
 
マイナスの数は特殊な方法で格納される。左端のビット符号になっており、0が正、1が負となる。
それ以外のビットは「2の補数」という特殊な形で格納される。これは、2の補数がマイナスの値の意味を持つためである。詳しくは「2の補数」の項目を参照

ただし、charだけはマイナスの値を格納しない。左端のビット符号に使用されず、整数値の表現に使用される。詳しくは「符号」の項目を参照
 
プログラムの中に直接書かれた整数値、たとえば「int i = 100;」の「100」等は「整数リテラル」である。詳しくは「整数リテラル」の項目を参照

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // int型整数値のビットを見ていきます。

        // 0の時は全ビットが0です。
        outputIntBit( 0 );
        // 00000000000000000000000000000000

        // 1増える毎に右端のビットから1ずつ増えていきます。
        outputIntBit( 1 );
        outputIntBit( 2 );
        outputIntBit( 3 );
        outputIntBit( 4 );
        // 00000000000000000000000000000001
        // 00000000000000000000000000000010
        // 00000000000000000000000000000011
        // 00000000000000000000000000000100

        // 最大値だと左端のビットが0、それ以外の
        // すべてのビットが1になります。
        System.out.println( Integer.MAX_VALUE );
        // 2147483647
        outputIntBit( Integer.MAX_VALUE );
        // 01111111111111111111111111111111

        // -1だと全部1になります。
        // マイナスの値は左端のビットが1になります。
        // また、それ以外のビットは2の補数で表現されます。
        outputIntBit( -1 );
        // 11111111111111111111111111111111

        // 1減る毎に右から減っていきます。
        outputIntBit( -2 );
        outputIntBit( -3 );
        outputIntBit( -4 );
        outputIntBit( -5 );
        // 11111111111111111111111111111110
        // 11111111111111111111111111111101
        // 11111111111111111111111111111100
        // 11111111111111111111111111111011

        // 最小値だと左端が1、その他全部0になります。
        System.out.println( Integer.MIN_VALUE );
        // -2147483648
        outputIntBit( Integer.MIN_VALUE );
        // 10000000000000000000000000000000
    }

    /**
     * int型変数をビット形式で出力します。
     */
    private static void outputIntBit( int l )
    {
        // long型変数をビット形式で文字列化します。
        String source = Integer.toBinaryString( l );
        // 左0埋めします。
        StringBuffer strbuf = new StringBuffer();
        forint iF1 = source.length(); iF1 < 32; ++iF1 )
        {
            strbuf.append( "0" );
        }
        strbuf.append( source );

        System.out.println( strbuf.toString() );
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // int型整数値のビットを見ていきます。

        // 0の時は全ビットが0です。
        outputIntBit( 0 );
        // 00000000000000000000000000000000

        // 1増える毎に右端のビットから1ずつ増えていきます。
        outputIntBit( 1 );
        outputIntBit( 2 );
        outputIntBit( 3 );
        outputIntBit( 4 );
        // 00000000000000000000000000000001
        // 00000000000000000000000000000010
        // 00000000000000000000000000000011
        // 00000000000000000000000000000100

        // 最大値だと左端のビットが0、それ以外の
        // すべてのビットが1になります。
        System.out.println( Integer.MAX_VALUE );
        // 2147483647
        outputIntBit( Integer.MAX_VALUE );
        // 01111111111111111111111111111111

        // -1だと全部1になります。
        // マイナスの値は左端のビットが1になります。
        // また、それ以外のビットは2の補数で表現されます。
        outputIntBit( -1 );
        // 11111111111111111111111111111111

        // 1減る毎に右から減っていきます。
        outputIntBit( -2 );
        outputIntBit( -3 );
        outputIntBit( -4 );
        outputIntBit( -5 );
        // 11111111111111111111111111111110
        // 11111111111111111111111111111101
        // 11111111111111111111111111111100
        // 11111111111111111111111111111011

        // 最小値だと左端が1、その他全部0になります。
        System.out.println( Integer.MIN_VALUE );
        // -2147483648
        outputIntBit( Integer.MIN_VALUE );
        // 10000000000000000000000000000000
    }

    /**
     * int型変数をビット形式で出力します。
     */
    private static void outputIntBit( int l )
    {
        // long型変数をビット形式で文字列化します。
        String source = Integer.toBinaryString( l );
        // 左0埋めします。
        StringBuffer strbuf = new StringBuffer();
        for( int iF1 = source.length(); iF1 < 32; ++iF1 )
        {
            strbuf.append( "0" );
        }
        strbuf.append( source );

        System.out.println( strbuf.toString() );
    }
}

この単語を含むページ

「みだし」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2010/02/26
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。