c-programming:data-types:int
Fixed size integer types
// gcc -Wall -std=c99 -pedantic int-types.c #include <stdio.h> #include <stdint.h> // intN_t, uintN_t, INTn_MAX, INTn_MIN, UINTn_MAX int main(void) { int8_t i8 = INT8_MAX; int16_t i16 = INT16_MAX; int32_t i32 = INT32_MAX; int64_t i64 = INT64_MAX; uint8_t u8 = UINT8_MAX; uint16_t u16 = UINT16_MAX; uint32_t u32 = UINT32_MAX; uint64_t u64 = UINT64_MAX; printf("\n"); // 8bit printf("INT8_MAX: %d\t\t\t", i8++); printf("INT8_MIN: %d\t\t\t", INT8_MIN); printf("max+1: %d\n", i8); // 16bit printf("INT16_MAX: %d\t\t", i16++); printf("INT16_MIN: %d\t\t", INT16_MIN); printf("max+1: %d\n", i16); // 32bit printf("INT32_MAX: %d\t\t", i32++); printf("INT32_MIN: %d\t\t", INT32_MIN); printf("max+1: %d\n", i32); // 64bit printf("INT64_MAX: %ld\t", i64++); printf("INT64_MIN: %ld\t", INT64_MIN); printf("max+1: %ld\n", i64); printf("\n"); // unsigned 8bit printf("UINT8_MAX: %u\t\t\t\t", u8++); printf("max+1: %u\n", u8); // unsigned 16bit printf("UINT16_MAX: %u\t\t\t", u16++); printf("max+1: %u\n", u16); // unsigned 32bit printf("UINT32_MAX: %u\t\t\t", u32++); printf("max+1: %u\n", u32); // unsigned 64bit printf("UINT64_MAX: %lu\t", u64++); printf("max+1: %lu\n", u64); return 0; }
INT8_MAX: 127 INT8_MIN: -128 max+1: -128 INT16_MAX: 32767 INT16_MIN: -32768 max+1: -32768 INT32_MAX: 2147483647 INT32_MIN: -2147483648 max+1: -2147483648 INT64_MAX: 9223372036854775807 INT64_MIN: -9223372036854775808 max+1: -9223372036854775808 UINT8_MAX: 255 max+1: 0 UINT16_MAX: 65535 max+1: 0 UINT32_MAX: 4294967295 max+1: 0 UINT64_MAX: 18446744073709551615 max+1: 0
// Print using PRI macros // gcc -Wall -std=c99 -pedantic int-types.c #include <stdio.h> #include <stdint.h> // intN_t, uintN_t, INTn_MAX, INTn_MIN, UINTn_MAX #include <inttypes.h> // PRIdN, PRIuN int main(void) { int8_t i8 = INT8_MAX; int16_t i16 = INT16_MAX; int32_t i32 = INT32_MAX; int64_t i64 = INT64_MAX; uint8_t u8 = UINT8_MAX; uint16_t u16 = UINT16_MAX; uint32_t u32 = UINT32_MAX; uint64_t u64 = UINT64_MAX; printf("\n"); // 8bit printf("INT8_MAX: %" PRId8 "\t\t\t", i8++); printf("INT8_MIN: %" PRId8 "\t\t\t", INT8_MIN); printf("max+1: %" PRId8 "\n", i8); // 16bit printf("INT16_MAX: %" PRId16 "\t\t", i16++); printf("INT16_MIN: %" PRId16 "\t\t", INT16_MIN); printf("max+1: %" PRId16 "\n", i16); // 32bit printf("INT32_MAX: %" PRId32 "\t\t", i32++); printf("INT32_MIN: %" PRId32 "\t\t", INT32_MIN); printf("max+1: %" PRId32 "\n", i32); // 64bit printf("INT64_MAX: %" PRId64 "\t", i64++); printf("INT64_MIN: %" PRId64 "\t", INT64_MIN); printf("max+1: %" PRId64 "\n", i64); printf("\n"); // unsigned 8bit printf("UINT8_MAX: %" PRIu8 "\t\t\t\t", u8++); printf("max+1: %" PRIu8 "\n", u8); // unsigned 16bit printf("UINT16_MAX: %" PRIu16 "\t\t\t", u16++); printf("max+1: %" PRIu16 "\n", u16); // unsigned 32bit printf("UINT32_MAX: %" PRIu32 "\t\t\t", u32++); printf("max+1: %" PRIu32 "\n", u32); // unsigned 64bit printf("UINT64_MAX: %" PRIu64 "\t", u64++); printf("max+1: %" PRIu64 "\n", u64); return 0; }
c-programming/data-types/int.txt · آخرین ویرایش: 2024/04/19 17:53 توسط pejman
