Sự khác biệt giữa Int16, Int32,.. trong C#?

Em mới tiếp cận C# và không hiểu sự khác biệt giữa các loại số nguyên Int16,Int32,… là gì, các anh giúp em được không ạ?
Nếu sự khác nhau là miền giá trị thì miền giá trị của đám này là khoảng nào ạ?

1 Like

Nó lưu giữ giá trị loại Integer. Tức là chỉ lưu số nguyên có dấu.
Con số 16,32,64 ở phía sau cho biết giá trị được lưu bằng bao nhiêu bit. Càng nhiều bit thì khoảng giá trị càng lớn. Tức là số bit lớn hơn sẽ llưu được số integer giá trị lớn hơn.

Với 1 số nguyên Int16 sẽ dùng 16 bit để lưu giá trị của 1 số.
Trong 16 bit này sẽ có 1 bit để lưu dấu, cho biết số đó là âm hay dương.
Còn lại 15 bit sẽ dùng để tạo nên 2^15 giá trị khác nhau cho mỗi dải giá trị âm và dương.

Tuy nhiên không có giá trị -0 và +0 nên số 0 chiếm mất 1 slot trong dải số dương.
Vậy mới có 2^15 số âm 1 số 0 và 2^15-1 số dương.
Số nguyên n bit sẽ tính tương tự.

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?