[C language] 이식성이 높은 고정 너비 정수형(Fixed-width Integers)

2020. 12. 9. 15:46· 프로그래밍언어/C언어

각 자료형의 최소크기만을 규정짓고 있기 때문에 어떤 경우에는 여러 시스템에서 자료형의 크기가 모두 다를 수 있다. 즉 한 시스템에서 만든 코드가 다른 시스템에서는 잘 작동하지 않을 수 있다. 이식성이 높지 않다는 뜻이다. 이럴때 변수, 자료형의 자료형을 명확하게 고정 할 수 있도록 사용하는게 고정 너비 정수형이다.

#include<stdio.h>
// #include<stdint.h>  // also included in inttypes.h
#include<inttypes.h>



int main()
{
	int i;
	int32_t i32;		// 32 bit integer / 사이즈를 명확하게 정의
	int_least8_t i8;	// smallest 8 bit  / 최소 크기 지정
	int_fast8_t f8;		// fastest minimum   / 크기 중 가장 빠른 것
	intmax_t imax;		// biggest signed integers / signed 자료형 중 가장 큰 사이즈 사용
	uintmax_t uimax;	// biggest unsigned integers / unsigned 자료형 중 가장 큰 사이즈 사용
	i32 = 1004;

	printf("me32 = %d\n", i32);
	printf("me32 = %" "d" "\n", i32);  //%"d\n"을 %"d""\n"으로 쪼개서 코딩해도 된다.
	printf("me32 = %" PRId32 "\n", i32); //PRId32 : 32비트정수의 형식지정자를 프린트 해달라


	return 0;

}

#include<stdint.h> 사용시 기존시스템에서 조건에 제일 맞는 자료형들을 새로 만드는 것이 아니라 이름만 바꿔서 고정너비정수로 사용 할 수 있게 해준다.

printf함수 사용시 고정너비정수형에 대칭이 맞는 형식지정자를 사용하는 것이 중요한데 #include<inttypes.h>에 고정너비정수형에 맞는 형식지정자들이 포함되어 있다. 또 #include<inttypes.h>에는 #include<stdint.h>이 포함되어 있어서 inttypes.h만 사용하면 된다.

고정너비정수형의 형식지정자를 모를 경우 #include<inttypes.h> 해주고, 형식지정자 자리에 PRId32(매크로, 프린트 32비트 정수)를 넣어주면 알맞는 형식지정자들이 출력된다.

​

'프로그래밍언어 > C언어' 카테고리의 다른 글

[C language] 불리언형(Boolean Types)  (0) 2020.12.16
[C language] 문자형  (0) 2020.12.09
[C language] 8진수와 16진수  (0) 2020.12.09
[C language] 다양한 정수형들  (0) 2020.12.09
[C language] 정수(integers)의 오버플로우(Overflow)  (0) 2020.12.09
'프로그래밍언어/C언어' 카테고리의 다른 글
  • [C language] 불리언형(Boolean Types)
  • [C language] 문자형
  • [C language] 8진수와 16진수
  • [C language] 다양한 정수형들
개발원슝이
개발원슝이
꾸준히 개발공부를 합니다.
개발원슝이
꾸준히 개발슝이
개발원슝이
전체
오늘
어제
  • ALL (236)
    • 프로젝트 (34)
      • clone coding (19)
      • mini project (5)
      • Team project(with KIC) (10)
    • 문제 (37)
      • 백준 (7)
      • 프로그래머스 (14)
      • 정보처리기사실기 (16)
    • 설치 (9)
    • 개발 기초 (13)
    • 프로그래밍언어 (119)
      • HTML (16)
      • CSS (17)
      • JavaScript (17)
      • JAVA (13)
      • JSP (10)
      • Python (22)
      • C언어 (24)
    • 프레임워크 (6)
      • Spring (3)
      • Django (3)
    • DB (2)
      • MySQL (2)
    • AWS (1)
    • 오류 (2)
    • 이것저것 (6)
    • 전공자 개발 (2)
    • 비전공자 개발 (5)

블로그 메뉴

  • 네이버블로그(강의노트)
  • GitHub
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 홍정모교수님
  • 생활코딩
  • 코딩테스트
  • 홍정모의 따라하며 배우는 C언어
  • 따배씨
  • 백준
  • 인프런
  • 점프 투 파이썬
  • javascript
  • 파이썬공부

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
개발원슝이
[C language] 이식성이 높은 고정 너비 정수형(Fixed-width Integers)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.