新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LabVIEW編程之字符串轉換為雙精度數

        LabVIEW編程之字符串轉換為雙精度數

        作者: 時間:2017-02-27 來源:網絡 收藏

          下面我們就Labview編程字符串轉換為雙精度數問題進行詳細分析:

          大家都知道兩點之間最近的路徑是直線,遺憾的是程序員往往走的并非直線。

          這是用戶的程序框圖

          分析用戶的程序框圖:

          用戶的目的是字符串轉換為雙精度數,從程序框圖上看,他限定了字符串的格式。字符串由5個字符組成,其中整數部分2個字符,小數點1個字符,小數部分兩個字符。

          用戶首先把字符串轉換為U8數組,然后利用索引數組取出各個位,根據各位、百位、小數點后一位、小數點后兩位,分別乘以10、100、0.1、0.01,然后求和。

          框圖中比較難理解的是除以16,求余數的操作,他的目的把ASCII轉換為數字。我們知道ASCII0X30...0X39分別是0-9的ASCII.除以16的目的是右移4位,這樣余數分別為0-9。

          改進用戶的程序框圖:

          用戶的程序框圖雖然比較復雜,但是還是有借鑒意義的,這里面實際上給出了字符串表示的數字轉換為各個位組成數組的方法,我們可以更為簡單的方法實現同樣的功能。以整型數為例。

          在LABVIEW中,類似功能最廠家的方法是U8數組減去0X30,這樣直接得到各個位構成的數組。即便使用網友的方法,也可以用求余數函數對數組進行整體運算。這是LABVIEW數組有別于C語言數組的一個重要特點,在C語言中是不允許對數組進行整體運算操作的。

          推薦解決方法:

          LABVIEW是面向工程應用的編程語言,對于基本的編程需要,肯定是提供相應的函數的,而且遠比其它編程語言方便得多,充分體現了LABVIEW易于使用的特點。對于字符串轉換雙精度數,在字符串函數選板中,至少提供了三個函數可以完成這樣的轉換功能,見下圖。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 定陶县| 兴宁市| 新宁县| 黔南| 中西区| 海晏县| 化德县| 阳信县| 武汉市| 宣恩县| 定安县| 布拖县| 收藏| 兰州市| 巍山| 陇西县| 玉溪市| 扶绥县| 仙游县| 厦门市| 西宁市| 楚雄市| 滨州市| 若羌县| 荔波县| 泰兴市| 东城区| 湖北省| 太白县| 寿宁县| 满洲里市| 启东市| 莱芜市| 临汾市| 静安区| 武宣县| 和田市| 大宁县| 海门市| 乐陵市| 蒲江县|