View difference between Paste ID: pKEnxj1v and mVbMcbGE
SHOW: | | - or go back to the newest paste.
1
import java.util.Scanner;
2
3
public class Problem08_CountEqualBits {
4
5
	public static void main(String[] args) {
6
		Scanner input = new Scanner(System.in);
7
		int n;
8
		int bit;
9
		int nextBit;
10
		int count = 0;
11
		int pos;
12
		int j = 31;
13
	
14
		
15
		System.out.print("n= ");
16
		n = input.nextInt();
17
		for ( j = 31; j >= 0; j--) {		//finds the position (j) of the first bit 1
18-
			pos = (int)Math.pow(2, j); //& n;
18+
			pos = (int)Math.pow(2, j)& n;
19
			//System.out.println(Integer.toBinaryString(pos));
20
21
			if (pos != 0) {
22
				break;
23
			}
24
		}
25
		for (int i = 0; i < j; i++) {
26
			bit = n & 1;
27
			n = n >> 1;
28
			nextBit = n & 1;
29
		
30
			if (bit == nextBit) {
31
				count++;
32
			}
33
			
34
		}
35
		System.out.printf("Equal bit pairs are: %d", count);
36
	}
37
38
}