Các dạng số nguyên
Hãy khám phá các dạng cơ bản có sẵn trong một chương trình C#, bắt đầu với các dạng được
sử dụng để trình bày số nguyên. Trong khi chúng ta sử dụng dạng int trong các học phần trước
, có 8 dạng khác nhau cho làm việc với số nguyên. Tám dạng này được gọi là integer type hay
integral type. Mỗi cái sử dụng một số bytes khác nhau, cái cho phép bạn lưu giữ các số lớn hơn
sử dụng nhiều bộ nhớ hơn hay lưu giữ các số nhỏ hơn trong khi tiết kiệm bộ nhớ.
Dạng int sử dụng 4 bytes và có thể trình bày các số giữa khoảng – 2 tỷ và + 2 tỷ (Các số cụ thể
trong bảng ở dưới).
Ngược lại, dạng short sử dụng 2 bytes và có thể trình bày các số giữa khoảng –32,000 và +32,000.
Dạng long sử dụng 8 bytes và có thể trình bày các số giữa khoảng –9 tỷ tỷ và + 9 tỷ tỷ.
Kích cỡ và phạm vi của chúng thông báo cho bạn biết khi nào bạn có thể chọn short hay long trên int.
Nếu bộ nhớ là chặt và phạm vi short là đủ, bạn có thể sử dụng short. Nếu bạn cần trình bày các số
lớn hơn một int có thể xử lí, bạn cần di chuyển lên tới một long thậm chí với phí tổn nhiều bytes hơn.
Các dạng short, int và long là các dạng có dấu (signed types): chúng bao gồm một dấu dương hay âm và lưu
giữ các giá trị dương và âm. Nếu bạn chỉ cần các số dương, bạn có thể tưởng tượng chuyển dịch các phạm vi
này lên trên để loại trừ các giá trị âm nhưng nhiều hai lần các giá trị dương. Đây là các dạng không dấu cho:
ushort, uint và ulong. Mỗi cái này sử dụng cùng số bytes như đối dạng có dấu của chúng, không thể lưu giữ
các số âm, nhưng có thể lưu giữ nhiều 2 lần các số dương. Vậy nên phạm vi của ushort trải từ 0 đến 65,000,
phạm vi của uint trải từ 0 đến 4 tỷ, và phạm vi của ulong trải từ 0 đến 18 tỷ tỷ.
Hai dạng số nguyên cuối cùng hơi khác một chút. Cái đầu tiên là dạng byte, sử dụng một byte đơn để trình bày
các giá trị từ 0 đến 255 (không dấu). Trong khi là số nguyên, dạng byte thường được sử dụng hơn để thể hiện
một byte hay tập hợp các bytes không có cấu trúc cụ thể (Hoặc không gì được biết đối với chương trình). Dạng
byte có một đối dạng có dấu, sbyte, trình bày các giá trị trong dải -128 đến +127. Dạng sbyte không được sử dụng
thường xuyên nhưng làm tập số hoàn chỉnh.
Bảng dưới tóm tắt thông tin này.