double是雙精度 有效數值位52位 表示成指數的形式 即指數11位 即表示成
為科爾沁左翼等地區用戶提供了全套網頁設計制作服務,及科爾沁左翼網站建設行業解決方案。主營業務為做網站、網站制作、科爾沁左翼網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
所以180.89305用2進制表示是10110100.1110010010011110111011001011111110110001010110110101
即
180.89305在double中存在的實際數值是
1.01101001110010010011110111011001011111110110001010110110101 *2^7
取小數點后 52位有效值后 等于10進制的180.893049999999998
所及加最后變成了 1808930.99999999998
第一次當然輸出近似值1808931
第二次int函數去掉了小數點后的數int就是只取整數的部位的不是四舍五入 所以少了1
Not一個數值實際上是對這個數值進行“非”運算,即轉換為2進制,0變為1,1變為0,你可以這樣試:
For i = 1 To 10
s = i
debug.print not (i Mod 5 )
Next
這樣可以看到not (i Mod 5 )這個表達式究竟等于多少。
按照你的想法,應該這樣做結果才是對的:
If Not (i Mod 5 0) Then
VB6中Mod 運算符功能是兩數相除求余。
如果兩數中帶小數,Mod 會先四舍六入取整,再按整數求余,余數帶小數的話只取整數部分。
注意,如果有書說四舍五入,是錯的。
在 VB6 用的是所謂銀行家算法,是四舍六入:
小數部分比 0.5 小就舍(例如0.4,0.49999),比 0.5 大就進(例如0.6,0.500001),
剛好是 0.5 可能舍可能進,如果小數點前面是偶數就舍(例如2.5 得 2),是奇數就進(例如3.5 得 4)。
Mod 運算符在VB.NET中有改動,余數可以帶小數。
以上資料來自:
所以2.5 mod 2結果是0
VB中使用MOD運算求兩個整數相除的余數:
例如:求27除以5的余數,最簡單的方法是
27 Mod 5 就可以了。
也可以用
27 - 27 \ 5 * 5 來求得。
其中 \ 是整數除法的運算符。27 \ 5 的值就等于27除以5的商的整數部分(19 \ 10 = 1)
即是5。由于 \ 和 * 的運算優先組長相同,所以,
27 - 27 \ 5 * 5
=27 - 5 * 5
=27 - 25
=2
好吧,我承認,我沒見過。不過不排除是用VB.NET所寫的插件。因為VB6是不支持運算符重載的。既然能夠自定義運算符,那肯定是跟插件有關。或許他是用宏,或者其他什么東西完成的。。。我沒看見過,所以不敢妄下結論。希望你能把這個文件發到我的郵箱里。。。。如果有的話。。。。我郵箱xtnxing@sina.com,可以研究研究。
VB中通過Mod方式求余比如:Dim r as Integer '定義一個整型變量r
r = 50 Mod 4 '求50除以4的
余數
,賦值給變量r補充:VB中取余
運算符
是Mod
文章題目:vb.net取余數,vb取余數的代碼
本文鏈接:http://vcdvsql.cn/article30/hegppo.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、網站排名、App開發、App設計、網站建設、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯