Language/C C언어 기초 (실수형상수/형식지정자/Endian)
  • 728x90
    반응형

     

     

     

    C언어 Chapter 4.


     

     

    실수형 상수

    자료형 바이트 크기 범위 유효 숫자
    float 4 3.4*10(-38승)~3.4*10(38승) 7자리
    doulbe 8 1.7*10(-308승)~1.7*10(308승) 15자리
    long double 8~10 3.4*10(-4932승)~1.1*1.1*10(4932승) 19자리

     

     

    🔔 예)

    // 실수를 화면에 출력하는 프로그램
    #include
    <stdio.h>
       
    int main()
    {
        float fNumber;
        fNumber = 45000.67;
    
        printf("%f \n", fNumber);  // 45000.67 이후의 숫자는 5로 끝나지않아 오류값 출력
        printf("%9.4f \n", fNumber); // 9.4에서9는 전체자릿수 4는 소수점자릿수를 나타냄
        // 컴퓨터의 계산은 반올림된다
        printf("%e \n", fNumber);  // %e는 실수를 지수표시법으로 나타냄
        
        return 0;
    }

     

     

    결과 :

     

     

    주소 저장방식  

    🔔 예) 16진수 "ABCDEF12" 숫자를 저장하였을 때.

     

    Big Endian(대소비교가 빠른방식 : 대소비교는 앞자리수로함)

    주소(4Byte) 1/Start 2 3 4/Big End
    저장값(nibble) A B C D E F 1 1

     

    Little Endian(계산이 빠른 방식 : 계산은 뒤에서부터 하면 빠르다.)

    주소(4Byte) 1/Little End 2 3 4/Start
    저장값(nibble) 1 2 E F C D A B

     

    • Cpu 에따라 저장방식이 다르다.
    • 흔히쓰는 Intel Cpu 는 Little Endian 방식을 따른다.

     

     

    형식지정자

    형식 지정자 자료형
    %ld Long int
    %hd Short int
    %lo 8진수 long int
    %lx 16진수 long int
    %u Unsigned int
    %lu Unsigned long int
    %lf Long double
    %lx Long int 16진수
    %c 문자형, '?' 작은 따옴표

     

    🔔 예) %u 활용법

    #include <stdio.h>
       
    int main()
    {
        unsigned int iNumber;
        iNumber = 0x80000000;  // 0x 를 이용하여 16진수 로 출력
        printf("%d\n", iNumber); // %d 를 사용할경우 unsigned 로 출력되지않는다
        printf("%u\n", iNumber); // %u 를 이용하여 unsigned 로 출력
        
        return 0;
    }

     

    결과 :

     

    🔔 예) 문자형 %c 활용법

    #include <stdio.h>
       
    int main()
    {
        printf("%d\n", 75);
        printf("%d\n", 'K'); // %d 는 'K'를 아스코드값출력
        printf("%c\n", 75);  // %c 는 75를 아스키코드값을 문자K로 출력
        printf("%c\n", 'K'); // %c 는 'K'를 K로 출력
        
        return 0;
    }

     

    결과 :

     

    🔔 예) 문자형 char 활용법

    #include <stdio.h>
       
    int main()
    {
        char ch = 'a'; // char로 정수가아닌 문자를 초기화 하려면 '?' 붙여야한다
        printf("%c\n", ch); // %c 형식지정자로 문자로 출력
        printf("%d\n", ch); // %d 형식지자를 사용하면 아스키 코드값이출력
        
        return 0;
    }

     

    결과 :

     

    🔔 예) 아스키코드 재현 프로그램

    #include <stdio.h>
       
    int main()
    {
        char ch;
       
        printf("Please enter any character: ");
        scanf("%c", &ch);
        printf("The ASCII code for character %1c is %3d.\n", ch, ch);
        // c% 를 이용하여 아스키코드 문자 출력 %d 를 이용해 코드값출력
        
        return 0;
    }

     

    결과 :

     

     

     

     

    728x90
    반응형
상단으로