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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > LABVIEW的深入探索之功能強大的位操作能力

          LABVIEW的深入探索之功能強大的位操作能力

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

          除了使用基本的位操作函數(shù)外,LV中還可以使用另外一種獨特的方法進行位操作,這是其它編程語言不具備的。我們知道LABVIEW中的布爾數(shù)據(jù)類型與位非常類似,不過是存儲空間不同。LABVIEW中的布爾數(shù)組和按字節(jié)、字進行位操作極為類似。因此可以先把字節(jié)、字轉(zhuǎn)換為布爾數(shù)組,進行相應(yīng)的位操作后在轉(zhuǎn)換回字節(jié)、字。如下圖所示,實現(xiàn)的是置位操作,與上圖效果相同。

          布爾數(shù)組可以直接轉(zhuǎn)換成U32,因此使用上述方法操作雙字更為方便,由于中間經(jīng)過了多次轉(zhuǎn)換,可能運行效率會低于直接使用位操作。在下面的其它位操作中,將同時演示兩種不同的方法。

          四、復(fù)位(關(guān)閉位)

          復(fù)位操作與置位操作相反,復(fù)位操作使某個位的值恢復(fù)為0狀態(tài),這是默認狀態(tài),因此稱作復(fù)位。

          對掩碼按位取反,則只有一位為0,其它位均為1,與字節(jié)進行與操作,則只有一位復(fù)位為0,其它位保持不變。

          五、轉(zhuǎn)置位

          轉(zhuǎn)置位就是對掩碼指定的位進行反轉(zhuǎn),如果原來為0,則置位為1。如果原來位1,則復(fù)位為0。進行轉(zhuǎn)置位操作,最簡單的就是進行異或操作。

          假如我們還是對BIT3 (掩碼0X08)進行操作。由于掩碼中的BIT3為1,如果字節(jié)中的BIT3為0,異或的結(jié)果是不同為1,字節(jié)中的BIT3由0成了1。反之,如果字節(jié)中的BIT3為1,異或的結(jié)果是相同為0,因此BIT3由1變成了0,實現(xiàn)了該位的轉(zhuǎn)置。

          由于掩碼的其它位為0,根據(jù)相同為0,不同為1的原則,其它位會保持不變。

          六、查看某位的值

          查看某位的值就非常簡單了,只要字節(jié)與掩碼進行與操作,判斷結(jié)果是否為0就可以了。如果字節(jié)該位為1,與掩碼與的結(jié)果則不為0。反之,如果字節(jié)的該位為0,與掩碼與的結(jié)果則為0。

          除了了對字節(jié)中的某一位進行置位、復(fù)位、轉(zhuǎn)置和測試位的能力,LABVIEW還支持對無符號數(shù)、有符號數(shù)的移位操作,這在高級編程語言中是不多見的,充分體現(xiàn)了LABVIEW面向工程應(yīng)用的特點。


          上一頁 1 2 下一頁

          關(guān)鍵詞: LABVIEW位操

          評論


          技術(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); })();