TIA博途SCL編程學習41_大數(shù)乘法
1?| 題目
所謂大數(shù)乘法,就是指數(shù)字比較大,相乘的結(jié)果超出了基本數(shù)據(jù)類型的表示范圍(對于ULINT數(shù)據(jù)類型最長數(shù)位只有20位),所以這樣的數(shù)不能夠直接使用乘法運算符進行運算。
2 | 設計分析
本例使用模擬小學乘法的方法,即用最簡單的乘法豎式手算累加。用字符串表示無符號整型數(shù)(最大支持254位數(shù)的數(shù)字),逐位相乘,然后逐位相加進位。
3?| 創(chuàng)建功能或功能塊
添加功能塊FB,命名為:“MclOfLargeNumber”。
4 | 定義接口變量
具體接口變量定義見下圖:

定義字符串數(shù)據(jù)類型變量存儲待計算的大數(shù)和乘法計算結(jié)果。
5 | 程序代碼
編寫程序代碼。如下圖:

注意沒有輸入數(shù)字和數(shù)字為0時的處理方式。
6 | 代碼測試
在循環(huán)OB中調(diào)用FB- “MclOfLargeNumber”,調(diào)用時會自動創(chuàng)建背景數(shù)據(jù)塊,命名為“InstMclOfLargeNumber”,該背景數(shù)據(jù)塊可以用來監(jiān)視和修改數(shù)據(jù)。
轉(zhuǎn)至在線并監(jiān)控程序。如下圖:

計算22位數(shù)位的兩個相同整數(shù)的乘法。
7 | 總結(jié)
學習使用FOR循環(huán)語句;
學習使用IF...ELSE語句;
學習字符串相關的指令;
學習使用一維數(shù)組;
注意“CONTINUE”和“EXIT”在循環(huán)語句中的作用。
博途V18下載地址
鏈接: https://pan.baidu.com/s/1okjXKeRmkG4sYCpDH-vdyA 提取碼: 9wjb 復制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦