1左移10位,1后面加10個0
創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設計、網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務西鄉(xiāng),10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108
結果就是:10000000000
五、按位運算符
注意不能在VB.Net中直接使用以下二進制數(shù),使用時需轉換為相應的十六或十進制數(shù)字。
1. 表示按位左移,空缺處補0。如:101101 2 結果為 110100
2. 表示按位右移,如:101101 2 結果為 001011
vb6.0中也有,
數(shù)字 就是讓這個數(shù)字為long型(隱式聲明Long 數(shù)據(jù)類型)
這就顯然是令數(shù)字0為long型的意思
如果不加就會默認是integer型
有很多作用
c=a b 就是把a和b以字符串形式連接起來并賦給c
如果只是要將其它類型數(shù)據(jù)轉換為字符串只要用cstr(變量)就行了
dim x 在定義的時候就是把變量x定義為long型,就像 dim x as long 一樣的效果
H十六進制數(shù) 的H表示后面的是十六進制數(shù),還有O是表示后面的是八進制數(shù)
VB中不能用。
VB也可以按位與運算的。
x=15 and 8的值就是8。
VB中的And可以表示按位與,也可以表示邏輯與,就看參與運算的量是什么類型的了。
注意只能對整型執(zhí)行按位運算。浮點值必須轉換為整型后,才能執(zhí)行按位運算。按位運算采用二進制(以 2 為基)形式計算兩個整數(shù)值。它們比較對應位置上的位,然后基于比較的結果賦值。下面的示例演示了 And 運算符。復制Dim x As Integerx = 3 And 5 前面的示例將 x 的值設置為 1。發(fā)生這種情況的原因如下:這些值以二進制形式處理:二進制格式的 3 為 011二進制格式的 5 為 101And 運算符比較這些二進制表示方式,一次比較一個二進制位置(位)。如果給定位置的兩個位都為 1,則將 1 放在結果中的該位置。如果任何一個位是 0,則將 0 放在結果中的該位置。在前面的示例中,按如下所示計算結果:011(二進制格式的 3)101(二進制格式的 5)001(二進制格式的計算結果)計算結果以十進制形式處理。值 001 是 1 的二進制表示形式,因此 x = 1。除了在任何一個比較位是 1 或兩個比較位都是 1 的情況下將 1 賦予結果位以外,按位 Or 運算與此類似。Xor 在比較的位正好只有一個是 1(而不是兩者都是 1)時將 1 賦給結果位。Not 采用單個操作數(shù)并反轉所有位(包括符號位),然后將該值賦予結果。這意味著,對于有符號正數(shù),Not 始終返回負值,而對于負數(shù),Not 始終返回正值或零。AndAlso 和OrElse 運算符不支持按位運算。 追問: 好復雜啊...還是不會,還有整數(shù)怎么轉換為二進制數(shù)? 回答: 為什么一定要用位運算呢,你那個乘法只能通過左移操作符“ ”來進行,而左移一次代表乘以2,要是乘以一個小數(shù),就必須先化成2的n次方,不夠再用加減法調整,很麻煩啊,沒必要用位運算啊。。。 追問: 因為我要進行大量的運算,但速度要快,所有用位運算...我也不想啊.. 回答: 那就不該用VB 啊,c/c++在執(zhí)行效率上是沒話說的。 追問: 問題就是不會嘛... 回答: 那你上csdn上發(fā)帖效果應該不錯 追問: CSDN發(fā)了,我發(fā)在高性能運算,沒人... 回答: 耐心一些,或者你應該發(fā)到VB.NET論壇那里。。。 追問: 額..只能這樣了... 提問者 的感言: 太復雜了..算了 2010-11-08
AndAlso是短路的邏輯與運算符,And有兩個含義:非短路的邏輯與運算符;按位與運算符
Dim c=a AndAlso b表達式中,若表達式a的計算結果是False,無論表達式b是什么樣,都不再進行計算,直接返回c的值
Dim c=a And b表達式中,無論a和b是怎樣的表達式,都要全部計算完成后再返回c的值
AndAlso相比And的區(qū)別,除了性能優(yōu)勢外,更重要的是,從語義上來說
If a Then
If b Then
End If
End If
等價于If a AndAlso b Then而不等價于If a And b Then
考慮這種情況:
Dim m As ClassM=****
Dim c=m IsNot Nothing AndAlso m.Succeeded
這種實際編程中經(jīng)常遇到的判斷,如果把AndAlso替換成And,在m Is Nothing的情況下會引發(fā)NullReferenceException空引用異常,而AndAlso能確保不會引發(fā)空引用異常
進行邏輯運算的時候,And只在一種情況下有價值:不僅想要得到c的值,而且無論如何都希望執(zhí)行b過程,并且自己能確保a=False不會影響b的執(zhí)行。其他情況下務必使用AndAlso
OrElse和Or同理,作為上面那句的逆判斷
Dim c=m Is Nothing OrElse m.Failed
也是經(jīng)常使用的。當然在進行位運算時,只能用And和Or,AndAlso和OrElse沒有位運算功能