Advertisement
dimipan80

C#Exams 5. Catch the Bits (on Java Code)

Aug 22nd, 2014
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.88 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class _5_CatchTheBits {
  4.  
  5.     public static void main(String[] args) {
  6.         // TODO Auto-generated method stub
  7.         Scanner scan = new Scanner(System.in);
  8.         int count = scan.nextInt();
  9.         int step = scan.nextInt();
  10.  
  11.         int positionInSeq = 0;
  12.         int outputNum = 0;
  13.         int bitCounter = 0;
  14.         for (int i = 0; i < count; i++) {
  15.             int number = scan.nextInt();
  16.             for (int bit = 7; bit >= 0; bit--) {
  17.                 if (positionInSeq % step == 1
  18.                         || (positionInSeq > 0 && step == 1)) {
  19.                     bitCounter++;
  20.                     int bitValue = (number >>> bit) & 1;
  21.                     outputNum <<= 1;
  22.                     outputNum |= bitValue;
  23.                     if (bitCounter == 8) {
  24.                         System.out.println(outputNum);
  25.                         outputNum = 0;
  26.                         bitCounter = 0;
  27.                     }
  28.                 }
  29.  
  30.                 positionInSeq++;
  31.             }
  32.         }
  33.  
  34.         if (bitCounter > 0) {
  35.             outputNum <<= (8 - bitCounter);
  36.             System.out.println(outputNum);
  37.         }
  38.     }
  39.  
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement