Skip to content

Commit d0323d2

Browse files
committed
[base][type] add type limits example
1 parent 46d9c1c commit d0323d2

File tree

2 files changed

+45
-5
lines changed

2 files changed

+45
-5
lines changed

base/type/Makefile

+11-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
CC ?= gcc
2-
CFLAGS = -O
1+
CC := gcc
2+
CFLAGS := -std=gnu17 -Wall -Wextra
3+
SRCS := $(wildcard *.c)
4+
EXES := $(SRCS:.c=)
35

4-
all:
5-
$(CC) $(CFLAGS) typesize.c -o typesize
6+
all: $(EXES)
7+
8+
%: %.c
9+
$(CC) $(CFLAGS) -o $@ $^
610

711
clean:
8-
rm typesize
12+
rm -f $(EXES)
13+
14+
.PHONY: all clean

base/type/typelimits.c

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#include <stdio.h>
2+
#include <stdlib.h>
3+
#include <limits.h>
4+
#include <float.h>
5+
6+
int main(void)
7+
{
8+
printf("CHAR_BIT : %d\n", CHAR_BIT);
9+
printf("CHAR_MIN : %d\n", CHAR_MIN);
10+
printf("CHAR_MAX : %d\n", CHAR_MAX);
11+
printf("SHRT_MIN : %d\n", SHRT_MIN);
12+
printf("SHRT_MAX : %d\n", SHRT_MAX);
13+
printf("INT_MIN : %d\n", INT_MIN);
14+
printf("INT_MAX : %d\n", INT_MAX);
15+
printf("LONG_MIN : %ld\n", (long) LONG_MIN);
16+
printf("LONG_MAX : %ld\n", (long) LONG_MAX);
17+
printf("SCHAR_MIN : %d\n", SCHAR_MIN);
18+
printf("SCHAR_MAX : %d\n", SCHAR_MAX);
19+
printf("UCHAR_MAX : %d\n", UCHAR_MAX);
20+
printf("USHRT_MAX : %d\n", (unsigned short) USHRT_MAX);
21+
printf("UINT_MAX : %u\n", (unsigned int) UINT_MAX);
22+
printf("ULONG_MAX : %lu\n", (unsigned long) ULONG_MAX);
23+
printf("-------------------------------------\n");
24+
printf("FLT_MAX : %g\n", (float) FLT_MAX);
25+
printf("FLT_MIN : %g\n", (float) FLT_MIN);
26+
printf("-FLT_MAX : %g\n", (float) -FLT_MAX);
27+
printf("-FLT_MIN : %g\n", (float) -FLT_MIN);
28+
printf("DBL_MAX : %g\n", (double) DBL_MAX);
29+
printf("DBL_MIN : %g\n", (double) DBL_MIN);
30+
printf("-DBL_MAX : %g\n", (double) -DBL_MAX);
31+
printf("Precision value: %d\n", FLT_DIG );
32+
33+
return 0;
34+
}

0 commit comments

Comments
 (0)