色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > LabVIEW深入探索之絕對時間、通用時間和相對時間

          LabVIEW深入探索之絕對時間、通用時間和相對時間

          作者: 時間:2017-02-27 來源:網(wǎng)絡(luò) 收藏

            作為一種面向工程應(yīng)用的編程語言,Labview提供了非常豐富的時間操作函數(shù)。8.X后又提出了新的有關(guān)時間的數(shù)據(jù)類型,時間標(biāo)識(TIMESTAMP)。時間標(biāo)識早期通常翻譯成“時間戳”,實(shí)際上是一種改進(jìn)型的數(shù)值控件,從時間標(biāo)識控件所在的控件選板就可以初步判斷出,時間標(biāo)識就是特殊的數(shù)值控件。

            一、時間標(biāo)識的內(nèi)存映射

            要想真正了解一種數(shù)據(jù)類型,首要的問題是要搞清楚該數(shù)據(jù)類型在內(nèi)存中或者文件中是如何存儲的。我們知道數(shù)值型控件可以選擇控件所包含的數(shù)據(jù)類型,比如雙精度浮點(diǎn)數(shù)、整型數(shù)、32位整型數(shù)、16位整型數(shù)等等。

            時間標(biāo)識控件是不允許選擇它所包含的數(shù)據(jù)類型的,這說明時間標(biāo)識所包含的數(shù)據(jù)類型是固定的。從幫助文件中,我們可以找到時間標(biāo)識在內(nèi)存中的存儲方式--映射。

            LabVIEW將時間標(biāo)識保存為一個含四個整數(shù)的簇,其中前兩個帶符號整數(shù)(64位二進(jìn)制)表示自1904年1月1日周五凌晨[01-01-190400:00:00]以來無時區(qū)影響的所有秒數(shù)。后兩個不帶符號整數(shù)(64位二進(jìn)制)表示小數(shù)秒部分。

           LabVIEW利用16個字節(jié)(128位)表示時間信息,其中前8個字節(jié)(64位)由兩個I32構(gòu)成,表示從0時刻開始經(jīng)歷過的秒數(shù)。后面8個字節(jié)為U64數(shù)據(jù),表示秒的小數(shù)部分。

            二、時間標(biāo)識與雙精度數(shù)之間的相互轉(zhuǎn)換

            在時間標(biāo)識出現(xiàn)以前,經(jīng)常用雙精度數(shù)表示從0時刻經(jīng)歷過的秒數(shù)。我們知道雙精度數(shù)所占的內(nèi)存空間也是8個字節(jié),與時間標(biāo)識相同。但是時間標(biāo)識實(shí)際上是定點(diǎn)數(shù),它的小數(shù)點(diǎn)位置是確定的,因此實(shí)際上雙精度數(shù)表示時間與時間標(biāo)識相比,不如時間標(biāo)識精確。

            采用數(shù)值轉(zhuǎn)換函數(shù)就可以實(shí)現(xiàn)時間標(biāo)識和雙精度數(shù)之間的相互轉(zhuǎn)換,如下圖所示:

            三、強(qiáng)制轉(zhuǎn)換時間標(biāo)識至數(shù)值

            既然我們已經(jīng)知道了時間標(biāo)識在內(nèi)存中的存儲方式,我們自然就可以通過強(qiáng)制轉(zhuǎn)換函數(shù)分解出時間標(biāo)識的兩個組成部分,秒和秒的小數(shù)部分。

            因?yàn)闀r間標(biāo)識占有8個字節(jié)的內(nèi)存空間,并分成前后各4個字節(jié),因此可以創(chuàng)建一個簇或者數(shù)組來表示它,下面的例子創(chuàng)建一個簇,包含3個元素。前兩個元素表示秒的整數(shù)部分,第3個元素表示秒的小數(shù)部分。

            從上圖可以看出,秒的整數(shù)部分非常明顯。小數(shù)部分就不容易分辨出來了,這要非常了解浮點(diǎn)數(shù)的二進(jìn)制表示方式才可以。


          上一頁 1 2 下一頁

          評論


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

          關(guān)閉