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

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > Labview中數(shù)值將字符串轉(zhuǎn)化為數(shù)值

          Labview中數(shù)值將字符串轉(zhuǎn)化為數(shù)值

          作者: 時(shí)間:2017-01-05 來源:網(wǎng)絡(luò) 收藏
          我們都知道兩點(diǎn)之間最近的路徑是直線,遺憾的是程序員往往走的并非直線。

          目的:字符串轉(zhuǎn)換為雙精度數(shù)。
          網(wǎng)友的程序框圖
          分析網(wǎng)友的程序框圖:

          網(wǎng)友的目的是字符串轉(zhuǎn)換為雙精度數(shù),從程序框圖上看,他限定了字符串的格式。字符串由5個(gè)字符組成,其中整數(shù)部分2個(gè)字符,小數(shù)點(diǎn)1個(gè)字符,小數(shù)部分兩個(gè)字符。
          網(wǎng)友首先把字符串轉(zhuǎn)換為U8數(shù)組,然后利用索引數(shù)組取出各個(gè)位,根據(jù)各位、百位、小數(shù)點(diǎn)后一位、小數(shù)點(diǎn)后兩位,分別乘以10、100、0.1、0.01,然后求和。
          框圖中比較難理解的是除以16,求余數(shù)的操作,他的目的把ASCII轉(zhuǎn)換為數(shù)字。我們知道ASCII 0X30...0X39分別是0-9的ASCII.除以16的目的是右移4位,這樣余數(shù)分別為0-9。

          改進(jìn)網(wǎng)友的程序框圖:
          網(wǎng)友的程序框圖雖然比較復(fù)雜,但是還是有借鑒意義的,這里面實(shí)際上給出了字符串表示的數(shù)字轉(zhuǎn)換為各個(gè)位組成數(shù)組的方法,我們可以更為簡(jiǎn)單的方法實(shí)現(xiàn)同樣的功能。以整型數(shù)為例。
          在LABVIEW中,類似功能最常見的方法是U8數(shù)組減去0X30,這樣直接得到各個(gè)位構(gòu)成的數(shù)組。即便使用網(wǎng)友的方法,也可以用求余數(shù)函數(shù)對(duì)數(shù)組進(jìn)行整體運(yùn)算。這是LABVIEW數(shù)組有別于C語言數(shù)組的一個(gè)重要特點(diǎn),在C語言中是不允許對(duì)數(shù)組進(jìn)行整體運(yùn)算操作的。

          推薦解決方法:
          LABVIEW是面向工程應(yīng)用的編程語言,對(duì)于基本的編程需要,肯定是提供相應(yīng)的函數(shù)的,而且遠(yuǎn)比其它編程語言方便得多,充分體現(xiàn)了LABVIEW易于使用的特點(diǎn)。對(duì)于字符串轉(zhuǎn)換雙精度數(shù),在字符串函數(shù)選板中,至少提供了三個(gè)函數(shù)可以完成這樣的轉(zhuǎn)換功能,見下圖。




          關(guān)鍵詞: Labview數(shù)值字符

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();