Trong các hệ thống nhúng, các kiểu dữ liệu short
và unsigned short
được sử dụng để truy cập các mục yêu cầu ít bit hơn số nguyên gốc. Ví dụ, nếu bộ điều khiển USB của tôi có thanh ghi 16 bit và bộ xử lý của tôi có số nguyên 32 bit, tôi sẽ sử dụng unsigned short
để truy cập thanh ghi (miễn là loại dữ liệu unsigned short
là 16 bit).
Hầu hết lời khuyên từ người dùng có kinh nghiệm (xem tin tức: comp.lang.C++. Được kiểm duyệt) là sử dụng kích thước nguyên gốc trừ khi sử dụng loại dữ liệu nhỏ hơn. Sự cố khi sử dụng short
để tiết kiệm bộ nhớ là các giá trị có thể vượt quá giới hạn của short
. Ngoài ra, điều này có thể là một hiệu suất hit trên một số bộ vi xử lý 32-bit, vì họ phải lấy 32 bit gần biến 16-bit và loại bỏ 16 bit không mong muốn.
Lời khuyên của tôi là làm việc về chất lượng chương trình của bạn trước tiên và chỉ lo lắng về việc tối ưu hóa chương trình nếu được bảo hành và bạn có thêm thời gian trong lịch biểu của mình.
Nguồn
2009-12-05 19:18:48
Tuổi là một ví dụ không tốt vì nó sẽ được lưu trữ tốt hơn trong loại không dấu. Có thể ngắn hoặc int. – Toad
Và thậm chí tốt hơn là để lưu trữ ngày sinh của họ. Kể từ khi một lĩnh vực tuổi phải được giữ đồng bộ – Toad
Tôi đã chỉnh sửa nó, đoán rằng nên được OK ngay bây giờ :) Tôi đồng ý rằng tuổi nên được unsigned, nhưng tôi đã chỉ tìm kiếm một câu trả lời cho ngắn v/s int. – user225312