카테고리

asm (27) bootloader_x86_grub (1) C (92) compile (11) config (76) CPP (13) CSS (1) debugging (7) gimp (1) Go (1) html (1) Java (1) JavaScript (1) kernel (19) LibreOffice (3) Linux system progamming (21) MFC (1) opencv (4) OpenGL (1) PHP (1) Python (4) qemu (29) shell (3) socket (7) troubleshooting (2) ubuntu18.04 (2) windows (1)

2018/12/08

C bit 처리

#include <stdio.h>

int bits(){
printf("\n");

int numberHowBig = 0;

printf("How Many Bits? ");
scanf(" %d", &numberHowBig);
printf("\n\n");

// 0 : Print what is given
// 1 : print what is given
// 2 : 1 + 2 = 3 11
// 4 : 7 + 8 = 15 1111

int myIncrementor = 1, myMultiplier = 1, finalValue = 1;

while(myIncrementor < numberHowBig){
myMultiplier *= 2;
finalValue = finalValue + myMultiplier;
myIncrementor++;
}

if((numberHowBig == 0) || (numberHowBig == 1)){
printf("Top Value: %d\n\n", numberHowBig);
} else {
printf("Top Value: %d\n\n", finalValue);
}
}

void main(void)
{
bits(); // input 31 -> How Many Bits? 31
        // // input 32 -> Top Value: -1

}

댓글 없음:

댓글 쓰기