Private?Sub?Form_Load()
創(chuàng)新互聯(lián)是一家專業(yè)提供西盟企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站制作、網(wǎng)站建設、H5響應式網(wǎng)站、小程序制作等業(yè)務。10年已為西盟眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
Text1.Text="":Text2.Text=""
Label1.Caption="":Label2.Caption=""
End?Sub
Private?Sub?Command1_Click()
Dim?a?As?Integer,?b?As?Integer
Label1.Caption="":Label2.Caption=""
a=Val(Text1.Text)
b=Val(Text2.Text)
Label1.Caption="商:"+Str(a?\?b)
Label2.Caption="余數(shù):"+Str(a?Mod?b)
End?Sub
注意只能對整型執(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
在VB中運用模運算(mod)進行求余數(shù)。
對于整型數(shù)a,b來說,取模運算或者求余運算的方法都是:
1、求 整數(shù)商: c = a/b;
2、計算?;蛘哂鄶?shù): r = a - c*b。
求模運算和求余運算在第一步不同: 取余運算在取c的值時,向0 方向舍入;而取模運算在計算c的值時,向負無窮方向舍入。所謂向0方向舍入,就是以小數(shù)點為界限,直接將小數(shù)部分去掉。如(Int)-1.324=-1(亦叫截斷法);
而向負無窮方向舍入,就是最終結果比真實值更小。如(Int)-1.324=-2;(int此處是強制轉換數(shù)據(jù)類型)注意c是指商。
擴展資料
通常情況下取模運算(mod)和求余(rem)運算被混為一談,因為在大多數(shù)的編程語言里,都用’%’符號表示取模或者求余運算。在這里要提醒大家要十分注意當前環(huán)境下’%’運算符的具體意義,因為在有負數(shù)存在的情況下,兩者的結果是不一樣的。
求模運算和求余運算在第一步不同: 取模求余運算在取c的值時,向0 方向舍入(fix()函數(shù));注:fix()函數(shù)是MATLAB中的一種取整函數(shù)、截斷函數(shù),直接截取數(shù)字的整數(shù)部分。而求余取模運算在計算c的值時,向無窮小方向舍入(floor()函數(shù))。
注:floor()函數(shù)為向下取整的函數(shù)。
Option Explicit On
Option Strict On
Imports System
Module Program
Sub Main()
Dim s As String
Dim strs As String()
Dim fz,fm,n,m,t As Long
Console.Write("請輸入一個小數(shù):")
s=Console.ReadLine().Trim()
strs=s.Split("."C)
fz=CLng(strs(0))
fm=CLng(Math.Pow(10,strs(1).Length))
fz=fz*fm+CLng(strs(1))
n=fz
m=fm
While n Mod m0
t=n Mod m
n=m
m=t
End While
fz\=m
fm\=m
Console.WriteLine("{0}={1}/{2}",s,fz,fm)
Console.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
End Module
應該定義為double或者single,string類好像不能進行運算。我簡單說一下控制臺的方法,你要一次性輸入和差積商,首先聲明兩個變量用來儲存兩個數(shù),然后用算法一次性輸出結果就ok。
Sub Main()
Dim FN As Single
Dim SN As Single
Dim ResultNum As Single
Console.WriteLine("請輸入第一個數(shù)") : FN = Console.ReadLine
Console.WriteLine("請輸入第二個數(shù)") : SN = Console.ReadLine
ResultNum = FN + SN
Console.WriteLine("它們的和: " ResultNum)
ResultNum = FN - SN
Console.WriteLine("它們的差: " ResultNum)
ResultNum = FN * SN
Console.WriteLine("它們的積: " ResultNum)
ResultNum = FN / SN
Console.WriteLine("它們的商: " ResultNum)
Console.ReadLine()
End Sub
你的問題不是很清楚,如果是鼠標離開就顯示(未點擊其他控件,焦點還在TextBox1上)則:
Private Sub TextBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.MouseLeave
查詢數(shù)據(jù)庫,找出符合TextBox1.text的供應商簡稱
Me.Label5.Text =供應商簡稱
End Sub
如果是鼠標離開點擊了其他控件使TextBox1失去焦點時顯示,則:
Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
查詢數(shù)據(jù)庫,找出符合TextBox1.text的供應商簡稱
Me.Label5.Text =供應商簡稱
End Sub
標題名稱:vb.net求商,vb求商函數(shù)
文章網(wǎng)址:http://chinadenli.net/article36/heshpg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、動態(tài)網(wǎng)站、關鍵詞優(yōu)化、外貿(mào)建站、網(wǎng)站營銷、外貿(mào)網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)