본문 바로가기

Embeded C/C언어 예제

C언어 입력된 정수의 2의 보수를 구하여 10진수, 16진수 형태로 출력하는 프로그램


입력된 정수의 2의 보수를 구한다음에 10진수, 16진수의 형태로 각각 출력하는 프로그램을 작성하겠습니다.

 

출력) Input Number :  1

        2s complement(10진수) :  -1

        2s complement(16진수) :  ffffffff

위와 같이 출력을 하게되고 10진수는 %d 16진수는 %x를 이용하여 출력하겠습니다
보수를 구하는 부분은 따로 함수를 선언하여 포인트로 받겠습니다

#include<stdio.h>

 

void compliment(int *pN, int *pC);

 

int main()

{

             int N, C = 0;

            

             printf("Input Number : ");

             scanf("%d",&N);

 

             compliment(&N, &C);

 

             printf("2's complement(10진수) : %d \n", C);

             printf("2's complement(16진수) : %x \n", C);

 

             return 0;

}

 

void compliment(int *pN, int *pC)

{

 

             *pC = 1 + ~*pN;

             return;

 

}