2011-02-03 44 views
5

Xin lỗi nếu đây là một câu hỏi phổ biến nhưng tôi không biết nó được gọi là gì nên tôi đang gặp sự cố khi tìm kiếm.Điều gì | và << nghĩa là gì?

làm việc như thế này:

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

Tôi hiểu rằng nó có nghĩa là quan điểm được cả chiều rộng linh hoạt và chiều cao, nhưng làm thế nào để nó lưu trữ hai biến như vậy?

Nếu tôi nhìn vào typedef cho UIViewAutoresizing nó trông giống như:

enum { 
    UIViewAutoresizingNone     = 0, 
    UIViewAutoresizingFlexibleLeftMargin = 1 << 0, 
    UIViewAutoresizingFlexibleWidth  = 1 << 1, 
... 

Vì vậy, làm thế nào có thể một cửa hàng biến nhiều hơn một giá trị như thế này?

Trả lời

6

"|" là một bitwise 'hoặc'.

"< <" cũng là thao tác dịch chuyển bitwise. nó di chuyển tất cả các bit sang bên trái:

00100 << 1 = 01000 

Đọc wiki, bạn quan tâm đến "hoặc" và thay đổi hoạt động.

3

Đây là các toán tử mức bit C.

| là nhị phân hoặc: 0001 | 0010 = 0011.

<< là một sự thay đổi bit: 0001 < < 1 = 0010.

Chúng được sử dụng cho bitmasks.

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