免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

vb.net進行位操作 vbnet goto

VB里怎樣實現(xiàn)位運算?

邏輯運算符中所含的And 運算符,Eqv 運算符,Imp 運算符,Not 運算符,Or 運算符,Xor 運算符等均可用來實現(xiàn)位運算。

創(chuàng)新互聯(lián)堅持網(wǎng)頁設計,我們不會倒閉、轉行,已經(jīng)持續(xù)穩(wěn)定運營十多年。專業(yè)網(wǎng)絡公司技術,豐富的成功經(jīng)驗和創(chuàng)作思維,提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。我們不僅會設計網(wǎng)站,更會全網(wǎng)營銷推廣。幫助中小型企業(yè)在“互聯(lián)網(wǎng)+"的時代里通過推廣營銷傳播路線轉型升級,累計幫助多家客戶實現(xiàn)網(wǎng)絡營銷化,與我們一起攜手共創(chuàng)未來!

算術運算符的* 運算符,\ 運算符可用于左移和右移位運算。

And 運算符,還對兩個數(shù)值表達式中位置相同的位進行逐位比較,并根據(jù)下表對 result 中相應的位進行設置:

Or 運算符,對兩個數(shù)值表達式中位置相同的位進行逐位比較,并根據(jù)下表對 result 中相應的位進行設置:

Xor 運算符既可作為邏輯運算符,也可作為位運算符。使用互斥或的邏輯進行的兩個表達式的逐位比較,其結果通過下表說明:

詳細的參考:MSDN6.0關于運算符的介紹。

100分 急求在vb.net中怎樣進行位操作

用bitarray類和BitVector32類實現(xiàn)

VB實現(xiàn)大致如下:

Imports?System.Collections.Specialized

...

Dim?bvData?as?BitVector32

Dim?sec1?As?BitVector32.Section?=?BitVector32.CreateSection(255)

Dim?sec2?As?BitVector32.Section?=?BitVector32.CreateSection(255,sec1)

Dim?sec3?As?BitVector32.Section?=?BitVector32.CreateSection(255,sec2)

Dim?sec4?As?BitVector32.Section?=?BitVector32.CreateSection(255,sec3)

Dim?Buf(4096)?as?Byte?'receive?byte?size?matched?with?DSP?send?data:?1024*4Byte

Dim?recCount?as?Integer

Dim?Data(1024)?as?long

....

For?recCount?=?0?To?1023

bvData(sec4)?=?buf(recByte*4)

bvData(sec3)?=?buf(recByte*4+1)

bvData(sec2)?=?buf(recByte*4+2)

bvData(sec1)?=?buf(recByte*4+3)

Data(recCount)?=?bvData.Data?'這樣數(shù)據(jù)肯定是-398

Next

....

VB中的位操作函數(shù),對字節(jié)中的一位進行操作

"位運算就是對字節(jié)或字節(jié)內(nèi)的二進制位數(shù)進行測試、抽取、設置或移位等操作。因此位運算不能是float、double、long double等其他復雜的數(shù)據(jù)類型,只能是標準的char和int數(shù)據(jù)類型"(在VB中意味著可以對byte、integer、long類型進行位運算操作。

以上摘自《C語言程序設計》--人民郵電出版社一書,我自學C語言用的教材。建議你學習一些C語言的基本知識,因為C語言比VB更貼近硬件,因此能夠幫助你理解一些VB中的概念。

C語言中的基本的位運算操作有按位與,按位或,按位異或,按位置反以及左、右移位操作。

VB中我只用過按位與(AND)、按位或(OR)、按位異或(XOR)。其他的需要自己添加代碼模擬。

具體各位運算的含義可以自己查閱相關文獻、書刊。空間有限,我就不貼出來了。

你應該知道的常識:

(一)1 Byte = 8 bit 一個字節(jié)在存儲器中占8位;

(二)在VB中,integer類型的范圍為-32768(-2^15)~ 32767(2^15-1),占兩個字節(jié),總共16位;

(三)計算機內(nèi)存中,所有數(shù)據(jù)都以二進制格式存儲。正數(shù)的最高位為0,后面的0/1序列與其絕對值的二進制形式相同,正數(shù)的原碼、反碼、補碼完全一致。

下面給出問題的分析步驟:

根據(jù)上面的結論,123在內(nèi)存中的存儲方式是這樣的:

(二進制位)15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

(整數(shù)123) 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1

(你要的結果)0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1

形式上= 123+2^2=123+4=127。

因此,如果不用位運算,用123+4(4的二進制的表達最后三位是100,其余全為0)就得到了你要的結果。但是很多情況下我們可以省去自己計算的麻煩,直接用位運算解決。

上面的式子的效果與 123 與( xxxx xxxx xxxx x1xx)做按位或運算是一樣的。

x為0或1都不影響結果,只要確保第三位為1.

所以,你想讓原有的數(shù)某一位或某幾位變?yōu)?,只要將這個數(shù)與對應位為1的數(shù)做Or運算即可。

因此上面的式子等效于 123 Or 4(100) 或者 123 Or 7 (111) 或者 123 Or 127(111 1111),等等。

本文標題:vb.net進行位操作 vbnet goto
當前地址:http://newbst.com/article0/doihhio.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供Google微信小程序小程序開發(fā)網(wǎng)站策劃虛擬主機移動網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司