Tôi biết về int
và long
(số 32 bit và 64 bit), nhưng uint
và là ulong
gì?
Tôi biết về int
và long
(số 32 bit và 64 bit), nhưng uint
và là ulong
gì?
Câu trả lời:
Các kiểu dữ liệu nguyên thủy có tiền tố là "u" là các phiên bản không dấu có cùng kích thước bit. Về mặt hiệu quả, điều này có nghĩa là chúng không thể lưu trữ các số âm, nhưng mặt khác, chúng có thể lưu trữ các số dương lớn gấp đôi các số có dấu của chúng. Các đối tác đã ký không có tiền tố "u".
Các giới hạn cho int (32 bit) là:
int: –2147483648 to 2147483647
uint: 0 to 4294967295
Và trong thời gian dài (64 bit):
long: -9223372036854775808 to 9223372036854775807
ulong: 0 to 18446744073709551615
uint
và ulong
là các phiên bản không dấu của int
và long
. Điều đó có nghĩa là chúng không thể tiêu cực. Thay vào đó chúng có giá trị tối đa lớn hơn.
Loại tối thiểu tối đa CLS tuân thủ int -2,147,483,648 2,147,483,647 Có uint 0 4,294,967,295 Không dài –9.223.372.036.854.775.808 9.223.372.036.854.775.807 Có dài 0 18.446.744.073.709.551.615 Không
Để viết một int không dấu theo nghĩa đen trong mã nguồn của bạn, bạn có thể sử dụng hậu tố u
hoặc U
ví dụ 123U
.
Bạn không nên sử dụng uint và ulong trong giao diện công cộng của mình nếu bạn muốn Tuân thủ CLS .
Đọc tài liệu để biết thêm thông tin:
u
phương tiện unsigned
, do đó ulong
là một số lượng lớn không biểu hiện. Bạn có thể lưu trữ một giá trị lớn ulong
hơn long
, nhưng không được phép sử dụng số âm.
Một long
giá trị được lưu trữ ở dạng 64-bit, với chữ số đầu tiên của nó để hiển thị nếu đó là một số dương / âm. trong khi ulong
cũng là 64-bit, với tất cả 64 bit để lưu trữ số. vì vậy độ dài tối đa là 2 (64) -1, trong khi độ dài là 2 (63) -1.
Sự khác biệt là kiểu dữ liệu uint
và ulong
là kiểu dữ liệu không dấu, có nghĩa là phạm vi khác nhau: Chúng không chấp nhận các giá trị âm:
int range: -2,147,483,648 to 2,147,483,647
uint range: 0 to 4,294,967,295
long range: –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
ulong range: 0 to 18,446,744,073,709,551,615