Tác dụng của từ khóa signed?

Như ở tiêu đề, em muốn hỏi tác dụng của từ khóa signed trong program. ???
và thêm câu hỏi trong tình huống cụ thể là:
Khi khai báo một biến (int i;). Nếu không có từ khóa unsigned thì declare sẽ được mặc định thành signed (tình huống 1).
Khi khai báo có unsigned thì biến sẽ là dương (tình huống hai).
Khi khai báo có signed thì biến biến sẽ là signed(tình huống ba)
Mọi người cho em hỏi là tình huống 1 và tình huống 3 khác nhau như thế nào ak?? (em đã tìm hiểu trên mạng nhưng vẫn mông lung về vấn đề này :neutral_face: :neutral_face: :neutral_face: )

Chào bạn,
Không biết ngôn ngữ bạn đang hỏi là ngôn ngữ gì? Sau này khi đặt câu hỏi thì nên phân loại rõ câu hỏi nhé.

Giả sử bạn đang nói về C/C++ thì tình huống 1 và 3 giống nhau.
Thêm signed để nhấn mạnh context lúc đọc code thôi. int = signed int

Trường hợp đặc biệt: char có thể là signed char hoặc unsigned char tùy vào compiler khác nhau.

9 Likes

t đang hỏi cụ thể trong ngôn ngữ C ak

Unsigned là không dấu và signed là có dấu, ví dụ kiểu signed int 2 hoặc 4 bytes từ -32,768 tới 32,767 hoặc -2,147,483,648 tới 2,147,483,647 thì unsigned int sẽ là từ 0 tới 65,535 hoặc 0 tới 4,294,967,295, trong trường hợp bạn không cần sử dụng đến giá trị âm thì có thể dùng unsigned int giúp tăng gấp đôi phạm vi giá trị mà không cần chuyển sang kiểu dữ liệu lớn hơn ví dụ long chẳng hạn.
Còn tình huống 1 với tình huống 3 bên trên thì nó giống nhau thôi, vì mặc định nếu bạn khai báo int thì nó sẽ là signed int.

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