位移运算子.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
位移运算子

程式設計II 運算元、運算子、運算式 運算式組成元素 運算式一般分為三類: 算術運算式 (a+b) 關係運算式 (ab) 邏輯運算式 (and or not) 由運算元(operands)和運算子(operators)組成 例如: a = 1+2-1 『a』、『1』、『2』就是運算式的運算元。 『=』、『+』、『-』就是運算式的運算子。 各種運算子 1. 算術運算子(Arithmetic Operator) 2. 位移運算子(Shift Operator) 3. 位元運算子(Bitwise Operator) 4. 關係運算子(Relational Operator) 5. 邏輯運算子(Logical Operator) 6. 累計運算子(Increment and Decrement Operator) 7. 指定運算子(Assignment Operator) 8. 條件運算子(Conditional Operator) 9. sizeof 運算子 算術運算子(Arithmetic Operator) 位移運算子(Shift Operator) 位移運算,就是把位元(bit) 向左移( )或是向右移( )幾個位置。 向左移n個位元,就相當於乘2n ; 向右移n個位元,相當於除以2n。 使用位移運算子 位元運算子(Bitwise Operator) 基本位元運算子運算 運算的說明 關係運算子(Relational Operator) 關係運算子 邏輯運算子(Logical Operator) 邏輯運算子包括 (邏輯AND) || (邏輯OR) ! (NOT) 邏輯的AND、OR、NOT 的真值表如下: 邏輯運算子的應用 累計運算子 累計運算子包含 增量運算子(Increment Operator ++) 減量運算子(Decrement Operator – –) 累計運算子 指定運算子(Assignment Operator) 指定運算子『=』它會把右邊運算式的值指定給左邊的變數。例如: x = y = z = 8; /* z=8; y=z; x=y; */ 指定運算子『=』左邊必須是一個單一變數, 而不能是數值、函式、 複合運算式 (如 x + y = z,即是錯的敘述)。 指定運算子範例 複合式指定運算子 條件運算子(Conditional Operator) 條件運算子『? :』的功能 與流程控制中的if-else敘述功能相同, 可以代替簡單的if-else指令。 語法: (條件的敘述) ? 敘述ㄧ : 敘述二; 例如: (x1) ? x=x+1 : x=x-1; 輸入任意二數,並且輸出較大值及較小值 sizeof 運算子是用來算出各種資料型態 所佔用的空間(單位為bytes)。 語法 sizeof (資料型態) 例如:記憶體配置大小 sizeof(a) sizeof(A) sizeof(float) * * % / * - + 功能敘述 運算子 a??b(取餘數),又稱為mod a??b(商) a??b(積) a-b(差) a+b(和) 將x向左移n個位元 x n 將x向右移n個位元 x n 功能敘述 使用方式 運算子 5 2 = 20 13 1 = 6 1 #includestdio.h 2 main(){ 3 int a = 5, b = 13; 4 a = a 2; 5 b = b 1; 6 printf( 5 2 = %i \n, a); 7 printf(13 1 = %i \n, b); 8 } NOT i ~ i ~ i XOR j i ^ j ^ i OR j i | j | i AND j i j 功能敘述 使用方式 運算子 1 #includestdio.h 2 main(){ 3 int A = 3, B = 5; A B = 1 A | B = 7 A ^ B = 6 ~A = -4 4 printf(A B = %i \n, A B); 5 printf(A | B = %i \n, A | B); 6 printf(A ^ B = %i \n, A ^ B); 7 printf( ~A = %i \n, ~A ); 8 } 0011(2) 3(10) 0101(2) 5(10) 0001(2) 1(10) (AND)

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档