Computer >> Máy Tính >  >> Lập trình >> C ++

Từ khóa có dấu và không dấu trong C ++ là gì?


Tất cả các kiểu số trong C ++ đều có thể có dấu hoặc không. Ví dụ, bạn có thể khai báo một int để chỉ biểu diễn các số nguyên dương. Trừ khi được chỉ định khác, tất cả các kiểu dữ liệu số nguyên đều là kiểu dữ liệu có dấu, tức là chúng có các giá trị có thể dương hoặc âm. Từ khóa unsigned có thể được sử dụng để khai báo các biến không có dấu.

Ví dụ

#include<iostream>
using namespace std;

int main() {
   unsigned int i = -1;
   int x = i;
   cout << i << ", " << x;
   return 0;
}

Đầu ra

Điều này sẽ đưa ra kết quả -

4294967295, -1

Đầu ra này được đưa ra vì nó làm tràn int bằng cách thay đổi tất cả 0 trong biểu diễn bit thành 1s và giá trị tối đa của int được in. Điều này là do bây giờ int i không có dấu. Nhưng x có một dấu nên nó sẽ chỉ có giá trị -1.