Có phải là loại int giống như chưa được ký hoặc được ký không?Là một int giống như unsigned hoặc ký?
Trả lời
Plain int
cũng giống như signed
cũng giống như signed int
int
s được ký bởi mặc định.
C++ chuẩn 3.9.1/2:
Có bốn loại nguyên ký: “int dài” “ký char”, “int ngắn”, “int”, và < ...>
C++ chuẩn 3.9.1/3:
Đối với mỗi loại nguyên ký, có e xists một tương ứng (nhưng khác nhau) unsigned loại nguyên: “unsigned char”, “unsigned int ngắn”, “unsigned int”, và “unsigned long int ,” < ...>
Vì vậy, sizeof(int)
bằng sizeof(unsigned)
. Nhưng boost::is_same< int, unsigned >::value
là sai.
+1 để trích dẫn Chuẩn. – Cumbayah
signed int
cũng giống như int
và chỉ định giá trị số nguyên có thể có cả giá trị dương và âm. Mặt khác, chỉ có giá trị dương lớn nhất lớn hơn nhiều so với giá trị signed int
.
Trên thực tế phạm vi * của các giá trị chính xác là cùng một kích thước, nó chỉ được dịch chuyển sao cho giá trị nhỏ nhất là 0. –
Bạn nói đúng, đó là một sự lựa chọn kém của từ. Đã sửa lỗi;) –
ints
được ký theo mặc định, là longs
.
Vì vậy, int
, signed
và signed int
là giống nhau.
Tương tự long
và signed long
giống nhau. Mặt khác,
chars
không có giá trị mặc định. Việc triển khai có thể xem xét chúng được ký hoặc chưa ký (nhiều người có một công tắc dòng lệnh để chọn). char
, signed char
và unsigned char
được coi là ba loại riêng biệt cho độ phân giải quá tải, bản dịch mẫu và các địa điểm khác.
Câu cuối cùng quá hạn chế. Nó không chỉ là độ phân giải quá tải, nó ở khắp mọi nơi. Ví dụ. cũng như các đối số mẫu.Do đó 'std :: vector
@MSalters: Điểm tốt, cập nhật. –
- 1. giải thích ký như unsigned
- 2. Là 'dài unsigned' là hợp lệ như 'unsigned long' trong C?
- 3. unsigned ngắn vs unsigned int - đôi khi họ là cùng một phạm vi?
- 4. Loại int mặc định: Đã ký hoặc Chưa ký?
- 5. Đây là OOP hoặc giống như OOP
- 6. C - unsigned int để unsigned char mảng chuyển đổi
- 7. Chuyển đổi từ 2 hoặc 4 byte thành chữ ký/unsigned ngắn/int
- 8. Hãy so sánh int và unsigned int
- 9. Sự khác biệt thực sự giữa "int" và "unsigned int"
- 10. Thêm hai biến unsigned char và kết quả là int
- 11. JNI: chuyển đổi unsigned int thành jint
- 12. Unsigned và ký so
- 13. Java unsigned byte [2] để int?
- 14. Mẫu <unsigned int N> có nghĩa là gì?
- 15. Objective C: Unsigned int so sánh
- 16. Là loại unsigned ngắn + int thực hiện được xác định?
- 17. sql server 4 byte unsigned int
- 18. mysql Tinyint là unsigned
- 19. int xúc tiến để int unsigned trong C và C#
- 20. char! = (Ký char), char! = (Unsigned char)
- 21. Là `int` theo mặc định` đã ký dài int` trong C++?
- 22. cách chuyển đổi ascii thành unsigned int
- 23. 4 byte unsigned int trong SQL Server?
- 24. Tại sao kết quả của unsigned char << unsigned char không phải là unsigned char
- 25. Là dp giống như nhúng?
- 26. Là drools giống như jrules?
- 27. Trong JavaScript là = giống như ==
- 28. lỗi: không có chức năng phù hợp cho cuộc gọi đến ‘min (dài unsigned int &, unsigned int &)’
- 29. Tham số int * có chính xác giống như tham số int []
- 30. Enum Class "không thể chuyển đổi sang unsigned int"
Trình biên dịch một số (tất cả?) Có công tắc để thay đổi mặc định thành unsigned. Trong MSVC, đó là/J. –
FYI Trình biên dịch CCS cho bộ điều khiển PIC Microchip không được gán theo mặc định. Argh! – kenny
Trình chuyển đổi trình biên dịch/J ảnh hưởng đến char, không phải int. "char" có thể hoặc không được ký. "char", "char đã ký" và "unsigned char" luôn là các loại riêng biệt, có hoặc không "char" được ký. –