فرض کنید یک حسگر از یک عدد صحیح 16 بیتی استفاده می کند یا می خواهید یک عدد صحیح همیشه 16 بیتی ایجاد کنید. این زمانی است که از "int16_t" استفاده می شود. در همه بردهای آردوینو همیشه 16 بیت است.
int16_t چیست؟
int16_t یک عدد صحیح ۱۶ بیتی است. uint16_t یک عدد صحیح 16 بیتی بدون علامت است. همین امر برای متغیرهای 8 بیتی، 32 بیتی و 64 بیتی صدق می کند. بیشتر برای ساخت برنامه های cross platform استفاده می شود. به عنوان مثال، اعداد صحیح آردوینو (int) 2 بایت هستند، اما در رایانه های خانگی یک عدد صحیح 32 بیت است.
آیا باید از int یا int16_t استفاده کنم؟
int می تواند بسته به معماری سخت افزاری باشد و بیشتر 16 یا 32 بیتی است. با این حال، an int16_t همیشه 16 بیتاست، صرف نظر از معماری سخت افزار. وقتی معماری 32 بیتی دارید (برای int)، و میخواهید آن را به int16_t ارسال کنید، اشتباه میشود تا اینکه MSB 16 بیتی را از دست بدهید.
int16_t در C چیست؟
به عنوان مثال، نام int16_t نشاندهنده یک نوع عدد صحیح امضا شده 16 بیتی است و نام uint32_t نشاندهنده نوع عدد صحیح بدون علامت 32 بیتی است. برای در دسترس قرار دادن این نام ها در یک برنامه، inttypes را درج کنید. فایل هدر h … این نامگذاری های جدید انواع عرض دقیق نامیده می شوند.
uint32_t چگونه تعریف می شود؟
uint32_t یک نوع عددی است که ۳۲ بیت را تضمین می کند. مقدار بدون علامت است، به این معنی که محدوده مقادیر از 0 تا 232 - 1 می رود. uint32_t ptr; یک اشاره گر از نوع uint32_t را اعلام می کند، اما اشاره گر بدون مقدار اولیه است،یعنی اشاره گر به جایی خاص اشاره نمی کند.