أنواع عددية صحيحة ثابتة الحجم (منذ C99)
من cppreference.com
محتويات |
[تعديل]الأنواع
معرفة في ملف <stdint.h> | |
int8_t int16_t int32_t int64_t | نوع عدد صحيح ذو إشارة حجمه بالضبط 8 و 16 و 32 و 64 بت على التوالي يستعمل كل البت خاصته في التخزين ومتمم ثنائيا (متاح فقط إذا كانت البيئية تدعم هذا النوع مباشرة) |
int_fast8_t int_fast16_t int_fast32_t int_fast64_t | أسرع نوع عدد صحيح ذو إشارة حجمه على الأقل 8 و 16 و 32 و 64 بت على التوالي |
int_least8_t int_least16_t int_least32_t int_least64_t | أصغر نوع عدد صحيح ذو إشارة حجمه على الأقل 8 و 16 و 32 و 64 بت على التوالي |
intmax_t | أكبر نوع عدد صحيح |
intptr_t | نوع عدد صحيح ذو إشارة قادر على حمل مؤشر |
uint8_t uint16_t uint32_t uint64_t | نوع عدد صحيح دون إشارة حجمه بالضبط 8 و 16 و 32 و 64 بت على التوالي (متاح فقط إذا كانت البيئية تدعم هذا النوع مباشرة) |
uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t | أسرع نوع عدد صحيح دون إشارة حجمه على الأقل 8 و 16 و 32 و 64 بت على التوالي |
uint_least8_t uint_least16_t uint_least32_t uint_least64_t | أصغر نوع عدد صحيح دون إشارة حجمه على الأقل 8 و 16 و 32 و 64 بت على التوالي |
uintmax_t | أكبر نوع عدد صحيح دون إشارة |
uintptr_t | نوع عدد صحيح دون إشارة قادر على حمل مؤشر |
[تعديل]ثوابت ماكرو
معرفة في ملف <stdint.h> | |
عدد صحيح ذو إشارة: أدني قيمة | |
INT8_MIN INT16_MIN INT32_MIN INT64_MIN | أصغر قيمة لكائن من النوع int8_t و int16_t و int32_t و int64_t (ثابت ماكرو) |
INT_FAST8_MIN INT_FAST16_MIN INT_FAST32_MIN INT_FAST64_MIN | أصغر قيمة لكائن من النوع int_fast8_t و int_fast16_t و int_fast32_t و int_fast64_t (ثابت ماكرو) |
INT_LEAST8_MIN INT_LEAST16_MIN INT_LEAST32_MIN INT_LEAST64_MIN | أصغر قيمة لكائن من النوع int_least8_t و int_least16_t و int_least32_t و int_least64_t (ثابت ماكرو) |
INTPTR_MIN | أصغر قيمة لكائن من النوع intptr_t (ثابت ماكرو) |
INTMAX_MIN | أصغر قيمة لكائن من النوع intmax_t (ثابت ماكرو) |
عدد صحيح ذو إشارة: أقصى قيمة | |
INT8_MAX INT16_MAX INT32_MAX INT64_MAX | أكبر قيمة لكائن من النوع int8_t و int16_t و int32_t و int64_t (ثابت ماكرو) |
INT_FAST8_MAX INT_FAST16_MAX INT_FAST32_MAX INT_FAST64_MAX | أكبر قيمة لكائن من النوع int_fast8_t و int_fast16_t و int_fast32_t و int_fast64_t (ثابت ماكرو) |
INT_LEAST8_MAX INT_LEAST16_MAX INT_LEAST32_MAX INT_LEAST64_MAX | أكبر قيمة لكائن من النوع int_least8_t و int_least16_t و int_least32_t و int_least64_t (ثابت ماكرو) |
INTPTR_MAX | أكبر قيمة لكائن من النوع intptr_t (ثابت ماكرو) |
INTMAX_MAX | أكبر قيمة لكائن من النوع intmax_t (ثابت ماكرو) |
عدد صحيح دون إشارة: أقصى قيمة | |
UINT8_MAX UINT16_MAX UINT32_MAX UINT64_MAX | أكبر قيمة لكائن من النوع uint8_t و uint16_t و uint32_t و uint64_t (ثابت ماكرو) |
UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_FAST64_MAX | أكبر قيمة لكائن من النوع uint_fast8_t و uint_fast16_t و uint_fast32_t و uint_fast64_t (ثابت ماكرو) |
UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX UINT_LEAST64_MAX | أكبر قيمة لكائن من النوع uint_least8_t و uint_least16_t و uint_least32_t و uint_least64_t (ثابت ماكرو) |
UINTPTR_MAX | أكبر قيمة لكائن من النوع uintptr_t (ثابت ماكرو) |
UINTMAX_MAX | أكبر قيمة لكائن من النوع uintmax_t (ثابت ماكرو) |
[تعديل]ثوابت ماكرو للتنسيق
This section is incomplete Reason: will look better as a table |
معرفة في ملف <inttypes.h> | |
ثوابت لنتنسق الأعداد في دالة fprintf وأخواتها | |
PRId8 PRId16 PRId32 PRId64 PRIdLEAST8 PRIdLEAST16 PRIdLEAST32 PRIdLEAST64 PRIdFAST8 PRIdFAST16 PRIdFAST32 PRIdFAST64 PRIdMAX PRIdPTR | format conversion specifier to output a signed decimal integer value of type int8_t, int16_t, int32_t, int64_t, int_least8_t, int_least16_t, int_least32_t, int_least64_t, int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t, intmax_t, intptr_t respectively, equivalent to %d for int(ثابت ماكرو) |
PRIi8 PRIi16 PRIi32 PRIi64 PRIiLEAST8 PRIiLEAST16 PRIiLEAST32 PRIiLEAST64 PRIiFAST8 PRIiFAST16 PRIiFAST32 PRIiFAST64 PRIiMAX PRIiPTR | format conversion specifier to output a signed decimal integer value of type int8_t, int16_t, int32_t, int64_t, int_least8_t, int_least16_t, int_least32_t, int_least64_t, int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t, intmax_t, intptr_t respectively, equivalent to %i for int(ثابت ماكرو) |
PRIu8 PRIu16 PRIu32 PRIu64 PRIuLEAST8 PRIuLEAST16 PRIuLEAST32 PRIuLEAST64 PRIuFAST8 PRIuFAST16 PRIuFAST32 PRIuFAST64 PRIuMAX PRIuPTR | format conversion specifier to output an unsigned decimal integer value of type uint8_t, uint16_t, uint32_t, uint64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uintmax_t, uintptr_t respectively, equivalent to %u for unsignedint(ثابت ماكرو) |
PRIo8 PRIo16 PRIo32 PRIo64 PRIoLEAST8 PRIoLEAST16 PRIoLEAST32 PRIoLEAST64 PRIoFAST8 PRIoFAST16 PRIoFAST32 PRIoFAST64 PRIoMAX PRIoPTR | format conversion specifier to output an unsigned octal integer value of type uint8_t, uint16_t, uint32_t, uint64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uintmax_t, uintptr_t respectively, equivalent to %o for unsignedint(ثابت ماكرو) |
PRIx8 PRIx16 PRIx32 PRIx64 PRIxLEAST8 PRIxLEAST16 PRIxLEAST32 PRIxLEAST64 PRIxFAST8 PRIxFAST16 PRIxFAST32 PRIxFAST64 PRIxMAX PRIxPTR | format conversion specifier to output an unsigned hexadecimal integer value of type uint8_t, uint16_t, uint32_t, uint64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uintmax_t, uintptr_t respectively, equivalent to %x for unsignedint(ثابت ماكرو) |
PRIX8 PRIX16 PRIX32 PRIX64 PRIXLEAST8 PRIXLEAST16 PRIXLEAST32 PRIXLEAST64 PRIXFAST8 PRIXFAST16 PRIXFAST32 PRIXFAST64 PRIXMAX PRIXPTR | format conversion specifier to output an unsigned uppercase hexadecimal integer value of type uint8_t, uint16_t, uint32_t, uint64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uintmax_t, uintptr_t respectively, equivalent to %X for unsignedint(ثابت ماكرو) |
Format constants for the fscanf family of functions | |
SCNd8 SCNd16 SCNd32 SCNd64 SCNdLEAST8 SCNdLEAST16 SCNdLEAST32 SCNdLEAST64 SCNdFAST8 SCNdFAST16 SCNdFAST32 SCNdFAST64 SCNdMAX SCNdPTR | format conversion specifier to input a signed decimal integer value of type int8_t, int16_t, int32_t, int64_t, int_least8_t, int_least16_t, int_least32_t, int_least64_t, int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t, intmax_t, intptr_t respectively, equivalent to %d for int(ثابت ماكرو) |
SCNi8 SCNi16 SCNi32 SCNi64 SCNiLEAST8 SCNiLEAST16 SCNiLEAST32 SCNiLEAST64 SCNiFAST8 SCNiFAST16 SCNiFAST32 SCNiFAST64 SCNiMAX SCNiPTR | format conversion specifier to input a signed decimal/octal/hexadecimal integer value of type int8_t, int16_t, int32_t, int64_t, int_least8_t, int_least16_t, int_least32_t, int_least64_t, int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t, intmax_t, intptr_t respectively, equivalent to %i for int(ثابت ماكرو) |
SCNu8 SCNu16 SCNu32 SCNu64 SCNuLEAST8 SCNuLEAST16 SCNuLEAST32 SCNuLEAST64 SCNuFAST8 SCNuFAST16 SCNuFAST32 SCNuFAST64 SCNuMAX SCNuPTR | format conversion specifier to input an unsigned decimal integer value of type uint8_t, uint16_t, uint32_t, uint64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uintmax_t, uintptr_t respectively, equivalent to %u for unsignedint(ثابت ماكرو) |
SCNo8 SCNo16 SCNo32 SCNo64 SCNoLEAST8 SCNoLEAST16 SCNoLEAST32 SCNoLEAST64 SCNoFAST8 SCNoFAST16 SCNoFAST32 SCNoFAST64 SCNoMAX SCNoPTR | format conversion specifier to input an unsigned octal integer value of type uint8_t, uint16_t, uint32_t, uint64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uintmax_t, uintptr_t respectively, equivalent to %o for unsignedint(ثابت ماكرو) |
SCNx8 SCNx16 SCNx32 SCNx64 SCNxLEAST8 SCNxLEAST16 SCNxLEAST32 SCNxLEAST64 SCNxFAST8 SCNxFAST16 SCNxFAST32 SCNxFAST64 SCNxMAX SCNxPTR | format conversion specifier to input an unsigned hexadecimal integer value of type uint8_t, uint16_t, uint32_t, uint64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uintmax_t, uintptr_t respectively, equivalent to %x for unsignedint(ثابت ماكرو) |
SCNX8 SCNX16 SCNX32 SCNX64 SCNXLEAST8 SCNXLEAST16 SCNXLEAST32 SCNXLEAST64 SCNXFAST8 SCNXFAST16 SCNXFAST32 SCNXFAST64 SCNXMAX SCNXPTR | format conversion specifier to input an unsigned uppercase hexadecimal integer value of type uint8_t, uint16_t, uint32_t, uint64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, uintmax_t, uintptr_t respectively, equivalent to %X for unsignedint(ثابت ماكرو) |
[تعديل]مثال
قم بتشغيل هذا الكود:
#include <stdio.h>#include <inttypes.h> int main(void){ printf("%zu\n", sizeof(int64_t)); printf("%s\n", PRId64); printf("%+"PRId64"\n", INT64_MIN); printf("%+"PRId64"\n", INT64_MAX); int64_t n =7; printf("%+"PRId64"\n", n); return0;}
خرج ممكن:
8 ld -9223372036854775808 +9223372036854775807 +7