/* package whatever; // don't place package name! */
import java.lang.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// Example with a positive number
int num1 = 5; // Binary: 00000000 00000000 00000000 00000101 10100
int leftShift1 = num1 << 2; // Shift left by 2 positions
// Example with a negative number
int num2 = -5; // Binary (two's complement): 11111111 11111111 11111111 11111011
int leftShift2 = num2 << 2; // Shift left by 2 positions
// Right shift examples
int signedRightShift = num2 >> 2; // Signed right shift (preserves sign)
int unsignedRightShift = num2 >>> 2; // Unsigned right shift (fills with 0s)
// Display results
System.
out.
println("Original number (5): " + num1
+ " -> Binary: " + Integer.
toBinaryString(num1
)); // 20 System.
out.
println("5 << 2 (Shift left by 2): " + leftShift1
+ " -> Binary: " + Integer.
toBinaryString(leftShift1
)); // 00000000 00000000 00000000 00010100
System.
out.
println("Original number (-5): " + num2
+ " -> Binary: " + Integer.
toBinaryString(num2
)); // -20 System.
out.
println("-5 << 2 (Shift left by 2): " + leftShift2
+ " -> Binary: " + Integer.
toBinaryString(leftShift2
)); // 11111111 11111111 11111111 11101100
System.
out.
println("-5 >> 2 (Signed right shift): " + signedRightShift
+ " -> Binary: " + Integer.
toBinaryString(signedRightShift
)); // -5 System.
out.
println("-5 >>> 2 (Unsigned right shift): " + unsignedRightShift
+ " -> Binary: " + Integer.
toBinaryString(unsignedRightShift
)); // 4 }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEubGFuZy4qOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKICAgICAgICAvLyBFeGFtcGxlIHdpdGggYSBwb3NpdGl2ZSBudW1iZXIKICAgICAgICBpbnQgbnVtMSA9IDU7IC8vIEJpbmFyeTogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAxMDEgIDEwMTAwCiAgICAgICAgaW50IGxlZnRTaGlmdDEgPSBudW0xIDw8IDI7IC8vIFNoaWZ0IGxlZnQgYnkgMiBwb3NpdGlvbnMKCiAgICAgICAgLy8gRXhhbXBsZSB3aXRoIGEgbmVnYXRpdmUgbnVtYmVyCiAgICAgICAgaW50IG51bTIgPSAtNTsgLy8gQmluYXJ5ICh0d28ncyBjb21wbGVtZW50KTogMTExMTExMTEgMTExMTExMTEgMTExMTExMTEgMTExMTEwMTEKICAgICAgICBpbnQgbGVmdFNoaWZ0MiA9IG51bTIgPDwgMjsgLy8gU2hpZnQgbGVmdCBieSAyIHBvc2l0aW9ucwoKICAgICAgICAvLyBSaWdodCBzaGlmdCBleGFtcGxlcwogICAgICAgIGludCBzaWduZWRSaWdodFNoaWZ0ID0gbnVtMiA+PiAyOyAgLy8gU2lnbmVkIHJpZ2h0IHNoaWZ0IChwcmVzZXJ2ZXMgc2lnbikKICAgICAgICBpbnQgdW5zaWduZWRSaWdodFNoaWZ0ID0gbnVtMiA+Pj4gMjsgLy8gVW5zaWduZWQgcmlnaHQgc2hpZnQgKGZpbGxzIHdpdGggMHMpCgogICAgICAgIC8vIERpc3BsYXkgcmVzdWx0cwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiT3JpZ2luYWwgbnVtYmVyICg1KTogIiArIG51bTEgKyAiIC0+IEJpbmFyeTogIiArIEludGVnZXIudG9CaW5hcnlTdHJpbmcobnVtMSkpOyAvLyAyMAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiNSA8PCAyIChTaGlmdCBsZWZ0IGJ5IDIpOiAiICsgbGVmdFNoaWZ0MSArICIgLT4gQmluYXJ5OiAiICsgSW50ZWdlci50b0JpbmFyeVN0cmluZyhsZWZ0U2hpZnQxKSk7IC8vIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDEwMTAwCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiT3JpZ2luYWwgbnVtYmVyICgtNSk6ICIgKyBudW0yICsgIiAtPiBCaW5hcnk6ICIgKyBJbnRlZ2VyLnRvQmluYXJ5U3RyaW5nKG51bTIpKTsgLy8gLTIwCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItNSA8PCAyIChTaGlmdCBsZWZ0IGJ5IDIpOiAiICsgbGVmdFNoaWZ0MiArICIgLT4gQmluYXJ5OiAiICsgSW50ZWdlci50b0JpbmFyeVN0cmluZyhsZWZ0U2hpZnQyKSk7IC8vIDExMTExMTExIDExMTExMTExIDExMTExMTExIDExMTAxMTAwCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLTUgPj4gMiAoU2lnbmVkIHJpZ2h0IHNoaWZ0KTogIiArIHNpZ25lZFJpZ2h0U2hpZnQgKyAiIC0+IEJpbmFyeTogIiArIEludGVnZXIudG9CaW5hcnlTdHJpbmcoc2lnbmVkUmlnaHRTaGlmdCkpOyAvLyAtNQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLTUgPj4+IDIgKFVuc2lnbmVkIHJpZ2h0IHNoaWZ0KTogIiArIHVuc2lnbmVkUmlnaHRTaGlmdCArICIgLT4gQmluYXJ5OiAiICsgSW50ZWdlci50b0JpbmFyeVN0cmluZyh1bnNpZ25lZFJpZ2h0U2hpZnQpKTsgLy8gNAogICAgfQp9