#include <stdio.h> char findMSB(int number) { char msb = 0; int sizeInBits = 0; sizeInBits = sizeof(number)*8; for(char iii =0;iii<sizeInBits;iii++) { ((number>>iii)&1)?(msb = iii):NULL; } printf("msb is %d\n",msb); return msb; } char ifAlternate(char msb,int number) { char lsb = 0,isAlternate = 1; (number&1)?(lsb = 1):(lsb=0); char valueOfBit = 0; for(char iii = 0;iii<=msb;iii++) { valueOfBit = (number>>iii)&1; printf("\nvalueof bit is %d\n",valueOfBit); if((iii%2 == 0)&&(valueOfBit==lsb)) continue; else if((iii%2 != 0)&&(valueOfBit!=lsb)) continue; else { isAlternate = 0; break; } } (isAlternate == 1)?printf("\nis alternate\n"):printf("\ni not alternate\n"); return isAlternate; } int main() { int number; char msb = 0,isAlternate =0; scanf("%d",&number); msb = findMSB(number); isAlternate = ifAlternate (msb,number); return 0; }
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more