Tuesday 13 March 2012

Classical Programming - 3 : print binary numbers (c++)

#include <iostream>
using namespace std;
#define SIZE sizeof(int)*8

char* bits(int val) {
     static char str[SIZE];
     for(int i = SIZE-1; i >= 0; i--) {      
       str[(SIZE-1)-i] = (val & (1<<i)) == 0? '0':'1';
     }
     return str;
 }

int main () { 
    int i = 2345;   
  
    cout << " i: " << bits(i) << endl;  
    return 0;
}

Monday 12 March 2012

Classical Programming - 2 : check bit of unsigned integer (c++)

bool isOn(unsigned int val, int bitNo){
  return (val>>bitNo)%2;
}

bool isOff(unsigned int val, int bitNo){
  return !isOn(val, bitNo);
}