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");
}
댓글 없음:
댓글 쓰기