浮點數,才是人間煙火前言
在前篇《VB的整數,你真的了解?》中,向讀者介紹整數時提到,計算機里實際上只有整數一種類型。那浮點數是如何表示的呢?浮點數的使用性能是不是比真正的整數要差呢?VB在應用過程中要注意哪些事項呢?本篇將詳細分析,來看看吧。
一、淺談浮點數
人類在進化過程中,發明了很多種度量單位,來量化我們所處的世界。但在客觀世界里,沒有那么多剛剛好的事。比如銀行存款余額,時間,導彈射程,戰艦位置等,人類也不可能無限細分度量單位。好比在計算機世界里,我們不能給每個內存單元(字節)都取一個名字,只能給有意義的內存冠名(變量)。
Hexit Capital推出Web3加速器計劃:5月12日消息,專注于Web3模型和解決方案等領域的投資機構Hexit Capital宣布推出一項全新Web3加速器計劃,將與Outlier Ventures、YCombinator和Techstars等加速器一起支持區塊鏈行業中的項目,幫助早期項目利用區塊鏈技術并推動增長,同時促進Web3領域專家人脈網絡之間的協作,并為投資組合公司提供資源、指導和支持。[2023/5/12 14:58:35]
這時浮點數就顯得異常重要了,代表著人類對客觀世界的把控程度。這種把控充滿了主觀色彩,可以用”在乎”一詞來形容浮點數對人的意義。首先,在不同背景下,需要不同的精度。比如我們很少在意金錢數據角分之后的數據,但是在高能物理界可能需要小數點后N個數位,否則差之毫厘失之千里。其次,精度的轉換又常常在不經意間發生。比如朋友來了有好酒,我們出手闊綽,毫不計較。但敵人來了有獵槍,一個子兒也不會多給。
Numen:一假推特賬號通過私信鏈接進行釣魚攻擊,已轉移了32.25ETH:3月9日消息,據Numen鏈上監控顯示,推特上arbitrum_store釣魚賬號偽裝成Arbitrum官方, 通過推特私信投送釣魚信息。
本次網站釣魚共計轉移了32.25ETH,當前部分資金還留在owner地址中,Numen實驗室提醒用戶一些不知名的鏈接不要隨意點擊,并且對于錢包簽名時的授權需要仔細查看,避免錢包資金被轉移。[2023/3/9 12:52:29]
雖然,計算機只認整數,但是我們人更多地是認小數(也即浮點數或實數)的,因為小數才有現實意義。超算和比特幣礦機,想必大家有所耳聞,他們都偏重計算,講究的是算力。如果說比特幣礦機有點不務正業,那超算是正兒八經的為科學研究服務吧。很多高精尖領域的研究,都離不開超算。但是衡量超算能力最核心的指標之一,就是浮點運算能力。
“華爾街之狼”Jordan Belfort:FTX商業模式像“兄弟會”,破產或是有預謀的:金色財經報道,“華爾街之狼”Jordan Belfort 在接受 Fox News 采訪時表示,在觀察了 SBF 的行為之后認為 FTX 破產很可能是有預謀的并稱其是一個“反社會者”。Jordan Belfort 補充稱:“歸根結底,FTX 的商業模式更像是一個兄弟會,而不是真正的生意。不過,令人更不安的是,所有這些大型對沖基金和風投公司都沒有發現這件事。SBF 是個反社會人士,我的意思是,他瘋了。”(finbold)[2022/11/20 22:07:52]
最近幣市火爆,筆者也有談到比特幣,有朋友問礦機為何要裝顯卡?其實,就跟浮點數運算有關啦。我們知道顯卡專注于提升圖像圖形的處理能力,而圖形的處理就涉及到精度的問題,也就是浮點數的處理嘍。而比特幣挖礦在非對稱加解密、哈希等計算中要涉及浮點數的,所以給礦機加顯卡,是可以提高算力的。
外媒:Babel Finance擬聘請美國投行Houlihan Lokey,或將進行重組:7月1日消息,Babel Finance正在聘請美國投資銀行公司Houlihan Lokey,其全球最大的財務咨詢和債務問題顧問之一。知情人士表示,Babel正在考慮重組,正在簽署一份業務約定書。Babel Finance和Houlihan Lokey均未回應置評請求。
據悉,Houlihan Lokey此前案例包括雷曼和安然。(CoinDesk)[2022/7/2 1:45:35]
二、VB的浮點數結構
1、Single類型
占4字節,6位有效小數。由1Bit符號位、8Bits指數位和23Bits有效數位三部分組成。其結構如下:
額,有點小,點擊看大圖那Single又是如何轉換為整數的呢?按照IEEE(美國電氣和電子工程師學會)的標準,按照以下公式進行轉換:
l=(-1)^s*(1+f)*2^(e-127)
其中:l為十進制整數,s為第32bit位的符號,f為有效小數,e為冪指數。
看上去很復雜,其實在VB里非常簡單,將Single變量的內存數據,直接拷貝到Long類型變量的內存里,就完成了轉換。
2、Double類型
占8字節,15位有效小數。由1Bit符號位、11Bits指數位和52Bits有效數位三部分組成,結構與Single類似。與十進制轉換公式為:l=(-1)^s*(1+f)*2^(e-1023)。
在VB中,需要借助Currency類型,來實現轉換。
3、Date類型
占8字節,是VB的日期格式。DATE在WTYPES.H中定義為"typedefdoubleDATE;",所以Date就是Double類型。值得一提的是,其整數部分為年月日,小數部分為時分秒,可以手工實現高精度時間哦。
三、VB浮點數使用過程中要注意哪些?
按浮點數的結構,我們可知浮點數在計算機中,并不等于數學意義上的實數,而是存在人為舍位的近似值。因此時時刻刻牢記精度問題,是正確使用浮點數的前提。
1、浮點數與10進制整數相互轉換時,存在精度問題。
2、浮點數謹慎用于相等判斷。
3、VB對小數常數、除法結果等默認為Double類型,在計算中只要有小數,都會做Double類型轉換,會降低代碼性能。在X86的32位機器下,CPU處理Single的速度更快,若精度允許,應盡量使用該類型,否則應統一使用Double類型。
4、VB中若需要更高精度的浮點數,則需借助Decimal類型,該類型支持28位有效小數位,但性能也更低。
<點擊頭像加關注,更多VB精彩等你來看>
Tags:比特幣DATTYPE比特幣中國官網聯系方式40億比特幣能提現嗎比特幣最新價格行情走勢DAT價格DAT幣TYPE價格TYPE幣
冀教版一年級下冊,會學到有關于《人民幣》的知識。這對于現在的小學生來說有點困難。由于現在的支付方式有了很大的改變。學生們對于人民幣的接觸也很少了。人民幣的單位有:元、角、分.
1900/1/1 0:00:00比特幣市場 三月的第一周,比特幣在經歷前周24%的回撤后,本周迎來了反彈,并且接連突破45000美元和50000美元整數關口.
1900/1/1 0:00:00“2020年3月12日6點30分,我在家里吃飯。”現在想起來,來自湖北武漢的炒幣者鮑先生還清晰地記得這一時刻。和前幾天的操作一樣,他在交易系統里開了比特幣空頭合約,并設定了三十多倍的杠桿.
1900/1/1 0:00:00聯合培養人才、共建科研基地、共同推進科技成果轉化……3月11日,山東科技大學與山東省港口集團簽署戰略合作協議.
1900/1/1 0:00:00“你不理財,財不理你”,相信大家對這句話并不陌生,據此,當代人對投資理財的熱衷也可見一斑。然而,當投資成為掩蓋犯罪的手段,平臺成為洗錢的“溫床”,司法的干預便刻不容緩.
1900/1/1 0:00:00其實哪個都很值錢,如果哪位富豪要送給筆者的話,隨便哪個,都是極好的!但很明顯,這三者之間必定是有差異的,哪個更有價值? 一噸黃金價值幾何? 一直以來黃金就是財富的象征.
1900/1/1 0:00:00