Mercurial > hg > Members > masakoha > testcode
view c/bitVector/main.cc @ 50:bb0e88fbbe02
impl bitGet and bitSet
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 26 May 2015 00:54:52 +0900 |
parents | f76fe618d5a7 |
children | 898e8d9e1c67 |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include <string.h> unsigned long bitSet(int bitSetPosition, unsigned long bitContainer) { unsigned long tmp = 1; tmp = tmp << (63 - bitSetPosition); bitContainer = bitContainer | tmp; return bitContainer; } void bitGet(unsigned long bitContainer) { for (int i = 63; i >= 0; i--) { printf( "%lu", ( bitContainer >> i ) & 1 ); } puts(""); } int main(int argc, char **argv) { int bitSetPosition = 0; unsigned long bitContainer = 0; for (int i = 1; i < argc ; i++) { if (strcmp(argv[i],"-n") == 0) { bitSetPosition = atoi(argv[i+1]); } } bitContainer = bitSet(bitSetPosition,bitContainer); bitGet(bitContainer); return 0; }