Tôi biết về intvà long(số 32 bit và 64 bit), nhưng uintvà là ulonggì?
Tôi biết về intvà long(số 32 bit và 64 bit), nhưng uintvà là ulonggì?
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
uintvà ulonglà các phiên bản không dấu của intvà 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ố uhoặc Uví 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:
uphương tiện unsigned, do đó ulonglà 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 ulonghơn long, nhưng không được phép sử dụng số âm.
Một longgiá 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 ulongcũ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 uintvà ulonglà 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