<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 第24節(jié):乘法運算的5種常見格式

          第24節(jié):乘法運算的5種常見格式

          作者: 時間:2016-11-22 來源:網絡 收藏
          從業(yè)十年,教你單片機入門 第24講:

          請先看以下的乘法語法格式:

          本文引用地址:http://www.ex-cimer.com/article/201611/319833.htm

          “保存變量”=“被乘數1”*“乘數2”*... *“乘數N”;

          含義是:右邊的“被乘數”與各“乘數”相乘,并且把最終的運算結果賦值給左邊的“保存變量”。注意,這里的符號“=”不是等于號的意思,而是賦值的意思。左邊的“保存變量”必須是變量,不能是常量,否則編譯時會報錯。右邊的“被乘數”和“乘數”既可以是變量,也可以是常量,也可以是“保存變量”本身自己。多說一句,何謂變量和常量?變量是可以在程序中被更改的,是被分配的一個RAM空間。常量往往是數字,或者是被分配在ROM空間的一個具體數值。下面根據右邊“被乘數”與“乘數”的不同組合,列出了乘法運算的5種常見格式。

          第1種:“被乘數1”是常量,“乘數2”是常量。比如:

          unsigned char a;

          a=15*3;

          數字“15”和“3”都是常量。執(zhí)行上述語句后,保存變量a變成了45。

          第2種:“被乘數1”是變量,“乘數2”是常量。比如:

          unsigned char b;

          unsigned char x=15;

          b=x*10;

          x是變量,“10”是常量。由于原來x變量里面的數值是15,執(zhí)行上述語句后,保存變量b變成了150。而變量x則保持不變,x還是15。

          第3種:“被乘數1”是變量,“乘數2”是變量。比如:

          unsigned char c;

          unsigned char x=15;

          unsigned char y=6;

          c=x*y;

          x是變量,y也是變量。由于原來x變量里面的數值是15,y變量里面的數值是6,執(zhí)行上述語句后,保存變量c變成了90。而變量x和y則保持不變,x還是15,y還是6。

          第4種:“被乘數1”是保存變量本身,“乘數2”是常量。比如:

          unsigned char d=18;

          d=d*2;

          d=d*7;

          d是保存變量,“2”和“7”都是常量。這類語句有一個特點,具備了自乘功能,可以更改自己本身自己的數值。比如原來保存變量d的數值是18,執(zhí)行“d=d*2;”語句后,d變成了36,接著再執(zhí)行完“d=d*7;”語句后,d最后變成了252。

          第5種:“被乘數1”是保存變量本身,“乘數2”是變量。比如:

          unsigned char e=2;

          unsigned char x=15;

          unsigned char y=6;

          e=e*x;

          e=e*y;

          e是保存變量,x與y都是變量。這類語句有一個特點,具備了自乘功能,可以更改自己本身自己的數值。比如原來保存變量e的數值是2,執(zhí)行“e=e*x;”語句后,e變成了30,接著再執(zhí)行完“e=e*y;”語句后,e最后變成了180。

          現在編寫一個程序來練習上述5種格式的乘法語句,最后把程序編譯后下載到堅鴻51學習板觀察結果。請直接復制第十節(jié)模板程序,修改的main程序代碼如下:

          void main() //主程序

          {

          /*---C語言學習區(qū)域的開始---------------------------------------------------------------------------*/

          unsigned char a; //定義一個變量a,并且分配了1個字節(jié)的RAM空間。

          unsigned char b; //定義一個變量b,并且分配了1個字節(jié)的RAM空間。

          unsigned char c; //定義一個變量c,并且分配了1個字節(jié)的RAM空間。

          unsigned char d=18; //定義一個變量d,并且分配了1個字節(jié)的RAM空間。初始化默認為18.

          unsigned char e=2; //定義一個變量e,并且分配了1個字節(jié)的RAM空間。初始化默認為2.

          unsigned char x=15; //定義一個變量x,并且分配了1個字節(jié)的RAM空間。初始化默認為15.

          unsigned char y=6; //定義一個變量y,并且分配了1個字節(jié)的RAM空間。初始化默認為6.

          //第1種:“被乘數1”是常量,“乘數2”是常量。

          a=15*3;

          //第2種:“被乘數1”是變量,“乘數2”是常量。

          b=x*10;

          //第3種:“被乘數1”是變量,“乘數2”是變量。

          c=x*y;

          //第4種:“被乘數1”是保存變量本身,“乘數2”是常量。

          d=d*2;

          d=d*7;

          //第5種:“被乘數1”是保存變量本身,“乘數2”是變量。

          e=e*x;

          e=e*y;

          GuiWdData0=a; //把變量a這個數值放到窗口變量0里面顯示

          GuiWdData1=b; //把變量b這個數值放到窗口變量1里面顯示

          GuiWdData2=c; //把變量c這個數值放到窗口變量2里面顯示

          GuiWdData3=d; //把變量d這個數值放到窗口變量3里面顯示

          GuiWdData4=e; //把變量e這個數值放到窗口變量4里面顯示

          /*---C語言學習區(qū)域的結束---------------------------------------------------------------------------*/

          while(1)

          {

          initial();

          key_service();

          display_service();

          }

          }

          如何在堅鴻51學習板上觀察a,b,c,d,e這5個變量?按下S1或者S5按鍵即可切換顯示不同的窗口,從而顯示不同的變量。上堅鴻51學習板觀察程序執(zhí)行的結果如下:

          變量a為45。

          變量b為150。

          變量c為90。

          變量d為252。

          變量e為180。

          下節(jié)預告:乘法連寫的簡寫



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();