0001 1001
另如 ASCII 編碼中的字母 f 為
0110 0110
所謂的位元運算,就是逐位元進行比較,例如以上兩項編碼做邏輯或的位元運算
0001 1001 or 0110 0110
結果會是
0111 1111
Objective-C 語言的位元運算子如下表
| 運算子 | 功能 | 範例 |
|---|---|---|
| & | 且 | a & b |
| | | 或 | a | b |
| ^ | 互斥或 | a ^ b |
| << | 向左位移 | a << b |
| >> | 向右位移 | a >> b |
| ~ | 取 1 的補數 | ~a |
基本資料型態 (basic data type) 中的整數可以做位元運算,舉例如下
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int a = 0x101;
int b = 0x11;
NSLog(@"%x", a & b);
NSLog(@"%x", a | b);
NSLog(@"%x", a ^ b);
a = 0x100;
b = 0x4;
NSLog(@"%x", a << b);
NSLog(@"%x", a >> b);
a = 0x0;
b = 0x100;
NSLog(@"%x", ~a);
NSLog(@"%x", ~b);
[pool drain];
return 0;
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:bitwise.m
功能:Objective-c 程式範例
作者:張凱慶
時間:西元 2013 年 4 月 */編譯執行,結果如下

| 中英文術語對照 | |
|---|---|
| 運算元 | operand |
| 運算子 | operator |
| 基本資料型態 | basic data type |
您可以繼續參考
運算式
相關目錄
Objective-C 快速導覽
Objective-C 教材
首頁
參考資料
Programming with Objective-C: About Objective-C
Programming with Objective-C: Working with Objects
沒有留言:
張貼留言