Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Write a program that exchanges bits 3, 4 and 5 with bits 24, 25 and 26 of given 32-bit unsigned integer.
- import java.util.Scanner;
- public class _15_BitsExchange {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner scan = new Scanner(System.in);
- System.out.print("Enter a non-negative whole Number in the range [0 .. 4 294 967 295]: ");
- long number = scan.nextLong();
- scan.close();
- if (number >= 0 && number <= 4_294_967_295L) {
- int bitValue543 = (int) (number >>> 3) & 0b111;
- int bitValue262524 = (int) (number >>> 24) & 0b111;
- long result = number;
- if (bitValue543 != bitValue262524) {
- int bitMask543 = bitValue543 << 3;
- result = number ^ bitMask543;
- int bitMask262524 = bitValue262524 << 24;
- result ^= bitMask262524;
- result |= bitValue262524 << 3;
- result |= bitValue543 << 24;
- }
- System.out.printf("The Number after Exchange of the Bits is: %d !\n", result);
- } else {
- System.out.println("Error! - Your number is Out of Range!!!");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement