^=演算子
日本語 | 排他的ビット和代入演算子 |
英語 | 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(); } }