Khi Nào Nên Dùng Int32_t Thay Vì Int ? | CppDeveloper

Trong C/C++ thì ngoài các kiểu dữ liệu cơ bản như dành cho số nguyên như char, short, int, long, signed char, unsigned short, unsigned int, unsigned long thì còn có các kiểu dữ liệu cho số nguyên khác như int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t được định nghĩa trong file stdint.h (header có thể dùng cho C và C++), cstdint (header chỉ dùng cho C++ , chú ý là không có đuôi .h).

Nếu như size của các kiểu dữ liệu gốc char, short, int, long, signed char, … có thể khác nhau theo từng platform thì các kiểu dữ liệu int8_t, uint8_t, int16_t, uint16_t, int32_t, … defined trong stdint.hcstint thì có size cố định và không thay đổi trên các platform khác nhau. Ví dụ, kiểu int tùy từng platform có thể có size là 2 bytes (16 bits) hoặc 4 bytes (32 bits) nhưng int32_t thì luôn có size cố định là 4 bytes (32 bits) bất kể ở platform nào.

Vậy khi nào thì nên sử dụng các kiểu dữ liệu trong stdint.h/cstdint ?
  • Khi code các chương trình cho hệ thống nhúng, cần các biến có kích thước chính xác để xử lý các phép toán logic, các xử lý liên quan đến memory
  • Khi code các chương trình yêu cầu cao về tính portable sang các platform khác. Do khi chuyển sang platform khác thì size của các kiểu dữ liệu này không thay đổi nên giảm số lượng code cần modify.

— Phạm Minh Tuấn (Shun) —

Tham khảo:

  • https://en.cppreference.com/w/cpp/header/cstdint
  • https://en.wikibooks.org/wiki/C_Programming/stdint.h
  • Cplusplus
  • int
  • int32_t
  • stdint
Trước đó

Sử dụng C library trong C++

Tiếp theo

Lỗi thường gặp của các newbie khi mới động đến Template trong C++

Tìm kiếm cho:

Facebook Page

Ads

Forum

Facebook Group Cover Tham gia group

Bài viết mới

  • Ý nghĩa của Change-Id trong Gerrit Code Review

    Tháng Một 27, 2022 0
  • Android Automotive OS – Android based platform dành cho ô tô

    Tháng Một 19, 2022 0
  • Dùng song song 2 mạng Ethernet và Wifi trên Windows

    Tháng Chín 27, 2021 0
  • Một số cách convert number sang string trong C++

    Tháng Năm 7, 2021 0
  • Toán tử ‘typeid’ trong C++

    Tháng Ba 8, 2021 0
  • Bộ tiền xử lý – Preprocessor trong C/C++

    Tháng Mười Hai 28, 2020 0
  • Cùng tìm hiểu về Base64 encoding

    Tháng Mười Một 4, 2020 0

Chuyên mục

  • 4 TÍNH CHẤT CỦA OOP
  • BEST PRACTICES
  • C++ NÂNG CAO
  • CODE GYM
  • CTDL & GIẢI THUẬT
  • DESIGN PATTERNS
  • KIẾN THỨC TỔNG HỢP
  • LINUX / YOCTO / AOSP
  • TECH365
  • VISUAL STUDIO

Copyright © 2025 CppDeveloper by Phạm Minh Tuấn (SHUN)

Từ khóa » Khai Bao Uint8_t Trong C