C(2): 정수와 실수

이규현·2024년 9월 18일

정수 (Integer)

정수: 소수점 또는 10의 거듭제곱 없이 숫자 문자로만 표현된 숫자

보수: 특정한 수를 만들기 위해 보충해야 하는 수

10진수

  • 19에 대한 9의 보수(19에 대한 99의 보수)
    - 99를 만들기 위해서 19에 보충해야 하는 수 = 80
  • 19에 대한 10의 보수(19에 대한 100의 보수)
    - 100을 만들기 위해서 19에 보충해야 하는 수 = 81

빼기의 결과를 더하기를 통해 얻기 위해서 보수 사용

25 - 19의 결과를 얻기 위한 과정

  • 25 - 19 --> 25+81 --> 25+81 -100 (보수의 기준인 100)
    - 결과: 6

2진수

0101 에 대한 1의 보수(0101에 대한 1111의 보수)

  • 1111을 만들기 위해서 0101에 보충해주어야 하는 수 = 1010

0101에 대한 2의 보수(0101에 대한 10000의 보수)

  • 10000을 만들기 위해 0101에 보충해주어야 하는 수 = 1011
    0111- 0011 (7-3)
    --> 0111 + 1101
    --> (0111+1001) + 0100= 10000(얘 보수의 기준)+0100

실습

#include <stdio.h>
#include <limits.h>
int main(){
    int math;
    int science;
    int sum;

    math = 90;
    science = 100;
    sum = math+science;

    printf("size of char %d \n", sizeof(char));

    char ch;
    ch = 'A';

    printf("ch = %c \n", ch);

    printf("size of short %d \n", sizeof(short));
    printf("size of int %d \n", sizeof(int));
    printf("size of long %d \n", sizeof(long));
    printf("size of long double %d \n", sizeof(long double));

    float y = 1.2f;
    
    double z = 1.2;


    printf(" INT MIN = %d \n", INT_MIN);
    printf(" INT MAX = %d \n", INT_MAX);

    return 0;
}

0개의 댓글