1樓:匿名使用者
mod 取模運算2008-02-26 15:40print 4 mod -3
1 print 4 mod 3
1 print -4 mod -3
-1 print -4 mod 3
-1 print -7.8 mod -4.56-3 總結:mod就是求餘數或稱取模,結果是兩數相除後的餘數。
規則:若參加運算的運算元不是整數,先將其四捨五入成整數再運算;若參加運算的數含有負數,則先取絕對值,再求餘,結果的符號與被除數符號相同
關於負號取餘:
這是異號求餘的規則:a%b=c,則c的值為:|a|%|b|的結果,讓這個結果與a同號,然後在和b相加。比如:
|-15|%|4|=3,然後-3+4=1
如果是15%(-4),則結果為 3+(-4)=-1注意一定是兩數異號時才是這種規則,同號時跟一般的演算法相同你的這個問題可以寫個小程式檢驗一下:
private sub command1_click()dim i%, j%
for j = 0 to 3
i = not (j mod 2)
print i
next j
end sub
執行時你會發現i的值不是-1就是-2,至於為什麼我也搞不太懂而只要i的值即not(j mod 2)不為0,都相當於true會一直執行x=x+1
2樓:匿名使用者
對於if not (j mod 2) then x = x + 1這句話應該這樣理解:
j mod 2 的值只有三種情況,0,1,-1(比如j=-1,-3,-5)
那麼 not (j mod 2) 的值對應的也就只有三種情況了,對應上面的值分別為-1,-2,0
在if條件語句中,
if 後跟的條件的值只要不為0,就會執行then後面的語句;
所以,這句話也就好理解了,
也即只要j不是負奇數就累加x。
3樓:匿名使用者
if not (j mod 2) then x = x + 1
假如 j能被2整除,則x=x+1
請教VB問題
新增一個command1按鈕控制元件 private sub command1 click dim i as integer,s as stringme.autoredraw true for i 1 to 9 s s cstr i me.print s next i end sub 很簡單 pri...
VB程式設計問題請教
if then語句有行語句和塊語句.你這樣寫,第2個if a1 375 then a2 0.571 是行語句 你看給你整理下.private sub command5 click if a1 0 and a1 1000 then if a1 375 then a2 0.571 elseif a1 4...
VB菜鳥的小問題,VB菜鳥的一個小問題
text1 是指你建立的文字框的名稱,如果你再在視窗建一個文字控制元件那系統會命名為 text2 text 是指物件 text1 的一個屬性,表示你將會在 text1 中輸入的內容,比如 text1.text 歡迎光臨 那 text1 文字框中就會顯示 歡迎光臨 的內容你要是想設定 text1 中文...