2013-07-22 36 views
7
for (x = 0; x < 1ULL<<(2*length); ++x){ 

dòng trên đây là mã chương trình c mà tôi đã tải xuống. Nó có một phần "1ULL". Đầu tiên tôi nghĩ đó là một sai lầm. nhưng mã biên dịch và hoạt động tốt. bất cứ ai có thể vui lòng giải thích cho tôi điều đó có nghĩa là gì.Ý nghĩa của "1ULL" trong ngôn ngữ lập trình c

cảm ơn bạn ....

+0

Hậu tố dài ULL' không được ký kết –

+2

https://www.google.com/search?q=c+ull+suffix+number ném gần 5 triệu kết quả, bạn không thấy kết quả nào trong số đó? –

+0

Ai là upvoting này ??? –

Trả lời

3

Những chữ thay đổi theo nghĩa đen 1 và làm cho nó kiểu unsigned long long.

này được bao phủ trong C99 (ISO/IEC 9899) §6.4.4.1 Integer hằng:

integer-suffix: 
unsigned-suffix long-suffixopt 
unsigned-suffix long-long-suffix 
long-suffix unsigned-suffixopt 
long-long-suffix unsigned-suffixopt 
unsigned-suffix: one of 
u U 
long-suffix: one of 
l L 
long-long-suffix: one of 
ll LL 
+1

Tôi đã bỏ phiếu cho tất cả các bạn, nhưng tôi nghĩ rằng câu trả lời chưa hoàn chỉnh cho đến khi bạn không cho biết khả năng sử dụng của nó. –

+1

ví dụ 'sizeof (1)! = Sizeof (1ULL)'. –

9

Suffix ULL đến một số nguyên đại diện Bộ xác định kiểu. Nó có nghĩa là

unsigned long long 

Bạn cũng có thể đọc thisthis one để biết thêm chi tiết.

3

Đó là cách để báo hiệu cho trình biên dịch rằng giá trị phải được xem là unsigned long long.

Các vấn đề liên quan