^=演算子
| 日本語 | 排他的ビット和代入演算子 |
| 英語 | caret equal operator |
| ふりがな | はっといこーるえんざんし |
| フリガナ | ハットイコールエンザンシ |
ビット排他的論理和の計算を行い、代入する演算子。
二項演算子のひとつ。
計算用演算子。「^演算子」と「=演算子」のふたつが組み合わされた機能を持つ。
左オペランドと右オペランドを「^演算子」に使用し、その結果を左オペランドの変数に格納する。
つまり「変数A ^= 変数B;」であれば、「変数A ^ 変数B」の結果を変数Aに代入する。
整数値型のみで使用できる。
二項演算子のひとつ。
計算用演算子。「^演算子」と「=演算子」のふたつが組み合わされた機能を持つ。
左オペランドと右オペランドを「^演算子」に使用し、その結果を左オペランドの変数に格納する。
つまり「変数A ^= 変数B;」であれば、「変数A ^ 変数B」の結果を変数Aに代入する。
整数値型のみで使用できる。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
int iL = 0x5;
int iR = 0x3;
System.out.println( getIntBit( iL ) );
System.out.println( getIntBit( iR ) );
// 00000000000000000000000000000101
// 00000000000000000000000000000011
// ^=演算子で、各ビットのXORを取り、格納します。
iL ^= iR;
System.out.println( getIntBit( iL ) );
// 00000000000000000000000000000110
}
/**
* int型変数をビット形式で返します。
*/
private static String getIntBit( int i )
{
// int型変数をビット形式で文字列化します。
String source = Integer.toBinaryString( i );
// 左0埋めします。
StringBuffer strbuf = new StringBuffer();
for( int iF1 = source.length(); iF1 < 32; ++iF1 )
{
strbuf.append( "0" );
}
strbuf.append( source );
return strbuf.toString();
}
}
public class Sample
{
public static void main( String[] args )
{
int iL = 0x5;
int iR = 0x3;
System.out.println( getIntBit( iL ) );
System.out.println( getIntBit( iR ) );
// 00000000000000000000000000000101
// 00000000000000000000000000000011
// ^=演算子で、各ビットのXORを取り、格納します。
iL ^= iR;
System.out.println( getIntBit( iL ) );
// 00000000000000000000000000000110
}
/**
* int型変数をビット形式で返します。
*/
private static String getIntBit( int i )
{
// int型変数をビット形式で文字列化します。
String source = Integer.toBinaryString( i );
// 左0埋めします。
StringBuffer strbuf = new StringBuffer();
for( int iF1 = source.length(); iF1 < 32; ++iF1 )
{
strbuf.append( "0" );
}
strbuf.append( source );
return strbuf.toString();
}
}
// Sample.java
public class Sample
{
public static void main( String[] args )
{
int iL = 0x5;
int iR = 0x3;
System.out.println( getIntBit( iL ) );
System.out.println( getIntBit( iR ) );
// 00000000000000000000000000000101
// 00000000000000000000000000000011
// ^=演算子で、各ビットのXORを取り、格納します。
iL ^= iR;
System.out.println( getIntBit( iL ) );
// 00000000000000000000000000000110
}
/**
* int型変数をビット形式で返します。
*/
private static String getIntBit( int i )
{
// int型変数をビット形式で文字列化します。
String source = Integer.toBinaryString( i );
// 左0埋めします。
StringBuffer strbuf = new StringBuffer();
for( int iF1 = source.length(); iF1 < 32; ++iF1 )
{
strbuf.append( "0" );
}
strbuf.append( source );
return strbuf.toString();
}
}




