JavaA2Z

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

byte

日本語 バイト型
英語 byte
ふりがな ばいと
フリガナ バイト

解説

プリミティブ型のひとつ。
 
整数値を格納するための
ラッパークラスByteクラス
 
byte宣言された変数は、8ビット(1バイト)分のメモリ領域を使用する。
左端のビットは正負のフラグとなり、0がプラス、1がマイナスを表す。
残りの7ビットと合わせて、-128~127の整数値を格納することができる(マイナスの場合は2の補数を使用する)。

整数値を扱いたい場合は通常intを使用する。計算目的でbyteを使用する機会は少ない。
>>演算子等、一部の演算子はbyteintキャストする(数値格上げ変換)ため、演算う際は素直にintを使用した方がいいだろう。
 
プリミティブ型の中で最も小さな
その名の通り「1バイト」のデータを格納するための
データとしての最も小さな単位は「ビット」だが、ビットでは小さすぎてしまうため、プログラムで扱う際にはバイト単位で扱うことが多い。その際にこのを使用する。
たとえば、文字コードの変換をう際に、StringクラスgetBytes()メソッドを使用して、byte配列の形式で文字列の「生のデータ」を取得する。
その他、バイナリーファイルのデータを扱う時など、データを生で扱う時やビット単位で処理したい時などに使用することが多いである。

参考サイト


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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // byte型の変数を宣言します。
        byte bt;
        // メモリ上に8ビットの領域が確保されました。

        // ここに整数値100を格納します。
        bt = 100;
        // それを出力します。
        System.out.println( bt );
        // 100

        // byte型変数に格納された「100」がどのように
        // ビットとして格納されているか見てみます。
        outputByteBit( bt );
        // 01100100

        // このように、「100」というbyte型整数は、
        // 「01100100」という「0か1」を8個並べた形で
        // 格納されています。

        // 最大値と最小値はbyteクラスのstaticフィールド
        // として宣言されているのでそれを使いましょう。
        bt = Byte.MAX_VALUE;
        System.out.println( bt );
        outputByteBit( bt );
        // 127
        // 01111111

        bt = Byte.MIN_VALUE;
        System.out.println( bt );
        outputByteBit( bt );
        // -128
        // 10000000
    }

    /**
     * byte型変数の中身をビット形式で出力します。
     */
    private static void outputByteBit( byte bt )
    {
        byte flag = 1;
        StringBuffer strbuf = new StringBuffer();
        // 全ビットを右からチェックします。
        forint iF1 = 0; iF1 < 8; ++iF1 )
        {
            // 取得した順に出力すると逆順になるので、
            // 取得した値を頭に挿入していきます。
            if( ( bt & flag ) == 0 )
            {
                strbuf.insert( 0, "0" );
            }
            else
            {
                strbuf.insert( 0, "1" );
            }
            // 2倍することでビットシフトします。
            flag *= 2;
            // (<<演算子を使用するとint型にキャスト
            // されるので*演算子を使用しています)
        }
        System.out.println( strbuf );
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // byte型の変数を宣言します。
        byte bt;
        // メモリ上に8ビットの領域が確保されました。

        // ここに整数値100を格納します。
        bt = 100;
        // それを出力します。
        System.out.println( bt );
        // 100

        // byte型変数に格納された「100」がどのように
        // ビットとして格納されているか見てみます。
        outputByteBit( bt );
        // 01100100

        // このように、「100」というbyte型整数は、
        // 「01100100」という「0か1」を8個並べた形で
        // 格納されています。

        // 最大値と最小値はbyteクラスのstaticフィールド
        // として宣言されているのでそれを使いましょう。
        bt = Byte.MAX_VALUE;
        System.out.println( bt );
        outputByteBit( bt );
        // 127
        // 01111111

        bt = Byte.MIN_VALUE;
        System.out.println( bt );
        outputByteBit( bt );
        // -128
        // 10000000
    }

    /**
     * byte型変数の中身をビット形式で出力します。
     */
    private static void outputByteBit( byte bt )
    {
        byte flag = 1;
        StringBuffer strbuf = new StringBuffer();
        // 全ビットを右からチェックします。
        for( int iF1 = 0; iF1 < 8; ++iF1 )
        {
            // 取得した順に出力すると逆順になるので、
            // 取得した値を頭に挿入していきます。
            if( ( bt & flag ) == 0 )
            {
                strbuf.insert( 0, "0" );
            }
            else
            {
                strbuf.insert( 0, "1" );
            }
            // 2倍することでビットシフトします。
            flag *= 2;
            // (<<演算子を使用するとint型にキャスト
            // されるので*演算子を使用しています)
        }
        System.out.println( strbuf );
    }
}

この単語を含むページ

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