2010년 4월 17일 토요일

2진수 변환 프로그램

#include

void main()
{
short num,res;

printf("* 10진수 정수를 입력하시오 : ");
scanf("%hd", &num);

printf("\n %hd(10) =",num);

for(int i = 1 ; i <=16 ; i++){

if(num>=0){

res = num & (0x8000>>(i-1));

if(res == 0){ printf(" 0 "); }
else {printf(" 1 "); }

}

else {

num = ~(-num); //양수로 전환후 1의 보수로 전환
num += 0x0001; //최하위 비트에 1을 더해준다. 2의 보수 생성 완료

res = num & (0x8000>>(i-1)); //비트검사

if(res == 0){ printf(" 0 "); }
else {printf(" 1 "); }
}
}

printf("(2) \n");
}

댓글 없음:

댓글 쓰기