整数
日本語 | 整数 |
英語 | 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」等は「整数リテラル」である。詳しくは「整数リテラル」の項目を参照。
小数点以下のない、切りのいい値。
つまり浮動小数点ではない数。「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」等は「整数リテラル」である。詳しくは「整数リテラル」の項目を参照。
// 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() );
}
}
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() );
}
}
// 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() ); } }
「解説」に含まれているページ
- %演算子
- &=演算子
- &演算子
- '
- *演算子
- ++演算子
- +演算子
- --演算子
- -演算子
- /演算子
- 0x
- 0X
- 10進数
- 16進数
- 2の補数
- 2進数
- 8進数
- <<=演算子
- <<演算子
- >>=演算子
- >>>=演算子
- >>>演算子
- >>演算子
- \u
- ^=演算子
- ^演算子
- ASCII
- BigDecimal
- BigInteger
- boolean
- byte
- Byte
- ByteArrayInputStream
- C++言語
- Calendar
- case
- char
- Character
- CP932
- default
- Double
- EUC
- int
- Integer
- IPアドレス
- ISO-2022-JP
- long
- Long
- Math
- NumberFormatException
- short
- Short
- StringBuffer
- switch
- switchステートメント
- Unicode
- unsigned
- |=演算子
- |演算子
- ~演算子
- 「E」
- 「e」
- 「F」
- 「L」
- 「l」
- アドレス
- インスタンスは不変
- エポック
- エラー
- オブジェクト
- オーバーフロー
- キャスト
- コード
- ダンプ
- ナローイング変換
- ハッシュコード
- ハッシュ値
- バイアス
- バイト
- パース
- ビット
- ビットフラグ
- プリミティブ型
- ボクシング変換
- マジックナンバー
- メッセージボックス
- ラベル
- リテラル
- ワイドニング変換
- 丸め誤差
- 全角
- 割り算
- 半角カタカナ
- 単項+演算子
- 単項-演算子
- 固定小数点
- 型
- 変数
- 定数式
- 実数
- 指数部
- 整数
- 整数リテラル
- 文字
- 文字エンコーディング
- 文字コード
- 文字セット
- 文字リテラル
- 有理数
- 桁溢れ
- 浮動小数点リテラル
- 添え字
- 演算
- 演算子
- 無理数
- 符号
- 符号なし
- 符号付き
- 算術右シフト
- 自然数
- 補数
- 論理演算
- 識別子
「サンプルプログラムとか」に含まれているページ
- '
- *演算子
- +演算子
- -演算子
- /**
- /演算子
- 0x
- 0X
- 16進数
- 2の補数
- 2進数
- 8進数
- <<演算子
- =演算子
- >>>演算子
- >>演算子
- @return
- ArrayList
- byte
- Byte
- case
- char
- false
- HashMap
- Hashtable
- INSERT
- int
- Integer
- Javadoc
- javadoc
- long
- Long
- Map
- println
- ResultSet
- SELECT
- short
- Short
- SQLインジェクション
- Statement
- StringBuffer
- switch
- switchステートメント
- true
- Unicode
- valueOf
- ~演算子
- 「E」
- 「e」
- 「L」
- 「l」
- エンコード
- キャスト
- クエリー
- サフィックス
- スケール
- デコード
- ドキュメンテーションコメント
- ナローイング変換
- バイアス
- バイト
- ビット
- ビットフラグ
- プリミティブ型
- プレフィックス
- ボクシング変換
- リテラル
- 代入演算子
- 全角
- 列
- 初期値
- 単純代入演算子
- 単項+演算子
- 単項-演算子
- 型
- 変数
- 変数宣言
- 定数
- 定数式
- 指数部
- 整数
- 整数リテラル
- 文字
- 文字コード
- 文字リテラル
- 浮動小数点
- 添え字
- 符号
- 自然数
- 行
- 複合代入演算子
- 識別子