ابزار کاربر

ابزار سایت


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

به جز مواردی که ذکر می‌شود، مابقی محتویات ویکی تحت مجوز زیر می‌باشند: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki