Skip to content

Instantly share code, notes, and snippets.

@astkaasa
Created April 16, 2013 02:04
Show Gist options
  • Save astkaasa/5392789 to your computer and use it in GitHub Desktop.
Save astkaasa/5392789 to your computer and use it in GitHub Desktop.
problem 5.1
public class InsertBinary {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 1089;
int m = 7;
int i = 2;
int j = 5;
for ( int k = i; k <= j; k++ ) {
n = clearBit( n, k );
}
int allOnes = ~ 0;
int left = allOnes << ( j + 1 );
int right = ( ( 1 << i ) - 1 );
int mask = left | right;
int n_cleared = n & mask;
int m_shifted = m << i;
//System.out.println( Integer.toBinaryString( n_cleared | m_shifted ) );
System.out.println( Integer.toBinaryString( n | m ) );
System.out.println( Integer.toBinaryString( n | ( m << i ) ) );
}
public static int clearBit( int n, int i ) {
int mask = ~ ( 1 << i );
return n & mask;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment