浮點數,才是人間煙火前言
在前篇《VB的整數,你真的了解?》中,向讀者介紹整數時提到,計算機里實際上只有整數一種類型。那浮點數是如何表示的呢?浮點數的使用性能是不是比真正的整數要差呢?VB在應用過程中要注意哪些事項呢?本篇將詳細分析,來看看吧。
一、淺談浮點數
人類在進化過程中,發明了很多種度量單位,來量化我們所處的世界。但在客觀世界里,沒有那么多剛剛好的事。比如銀行存款余額,時間,導彈射程,戰艦位置等,人類也不可能無限細分度量單位。好比在計算機世界里,我們不能給每個內存單元(字節)都取一個名字,只能給有意義的內存冠名(變量)。
數字資產數據提供商Amberdata收購分析平臺Genesis Volatility:金色財經報道,數字資產數據提供商Amberdata已經收購提供加密期權的分析公司Genesis Volatility。該公司計劃利用此次收購擴大其對DeFi的關注,為Frikton、Ribbon和Lyra等DeFi期權協議提供支持,擴大其對去中心化金融的關注。它還將尋求用Amberdata的鏈上、DeFi和市場數據加強Genesis Volatility的分析界面。
雖然該公司沒有披露交易條款,但據一位熟悉此事的消息人士稱,加密貨幣期權分析平臺是以Amberdata的大部分股權收購的。(the block)[2022/10/26 16:38:46]
這時浮點數就顯得異常重要了,代表著人類對客觀世界的把控程度。這種把控充滿了主觀色彩,可以用”在乎”一詞來形容浮點數對人的意義。首先,在不同背景下,需要不同的精度。比如我們很少在意金錢數據角分之后的數據,但是在高能物理界可能需要小數點后N個數位,否則差之毫厘失之千里。其次,精度的轉換又常常在不經意間發生。比如朋友來了有好酒,我們出手闊綽,毫不計較。但敵人來了有獵槍,一個子兒也不會多給。
SBF:FTX仍有約10億美元現金可用于在場外收購陷入困境的加密公司:金色財經報道,在最近接受CNBC財經節目《Squawk Box》采訪時,FTX首席執行官Sam Bankman-Fried 表示,該公司仍有約 10 億美元的現金在場外準備幫助陷入困境的加密公司,他進一步解釋稱:“可以這么說,我們并沒有試圖清空資金儲備庫,而是投入了數十億美元,這與我們去年募集的資金規模大致相符,除此之外我們還實現了盈利。如果加密行業在遭遇痛苦,如果市場崩潰,這對任何人都沒有好處,對客戶也不公平,對監管更是不利,對各方面都沒有好處。所以,從長遠的角度來看,幫助加密公司擺脫困境對生態系統來說才是最重要的。”(CNBC)[2022/9/19 7:05:02]
雖然,計算機只認整數,但是我們人更多地是認小數(也即浮點數或實數)的,因為小數才有現實意義。超算和比特幣礦機,想必大家有所耳聞,他們都偏重計算,講究的是算力。如果說比特幣礦機有點不務正業,那超算是正兒八經的為科學研究服務吧。很多高精尖領域的研究,都離不開超算。但是衡量超算能力最核心的指標之一,就是浮點運算能力。
活躍狀態超10年的比特幣供應量達到2,504,177.011 BTC創歷史新高:金色財經報道,據 glassnode 最新數據顯示,活躍狀態超10年的比特幣供應量已達到2,504,177.011 BTC,創下歷史新高。[2022/8/22 12:39:27]
最近幣市火爆,筆者也有談到比特幣,有朋友問礦機為何要裝顯卡?其實,就跟浮點數運算有關啦。我們知道顯卡專注于提升圖像圖形的處理能力,而圖形的處理就涉及到精度的問題,也就是浮點數的處理嘍。而比特幣挖礦在非對稱加解密、哈希等計算中要涉及浮點數的,所以給礦機加顯卡,是可以提高算力的。
二、VB的浮點數結構
數據:8liens NFT系列近24小時交易額增幅超1500%:金色財經報道,據OpenSea數據顯示,8liens NFT系列近24小時交易額為1995.99 ETH,24小時交易額增幅達1502.8%。近24小時交易額排名位列OpenSea第一。[2022/8/11 12:18:01]
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幣
4月1日早間,特斯拉CEO馬斯克發推稱將用SpaceX火箭把狗狗幣真的送上月球。在6個小時內,該推文獲得了大約321,900的贊和39,600次轉推.
1900/1/1 0:00:00法國的數學到底多厲害? 法國數學被認為是最嚴謹、水平最高的國學科。法國數學水平到底高到什么程度呢?來看一下菲爾茲獎,號稱數學界的諾貝爾獎,是數學界學術最高獎項,這個甚至于比諾貝爾獎更珍貴,原因菲.
1900/1/1 0:00:00來源:經濟觀察報 比特幣投資客喜悲 蔡越坤 周青決定賭一把。 作為數字貨幣投資的愛好者,他看著比特幣價格從1月2日站上30000美元后一路漲上50000美元,再也按捺不住.
1900/1/1 0:00:00字節跳動又出一爆炸性新聞。據財聯社報道,當地時間周四,據媒體援引美國伊利諾伊州地方法院文件報道,字節跳動已經與一項與用戶隱私有關的集體訴訟達成了和解.
1900/1/1 0:00:00隨著Billions項目組的價格接近59,000美元,其相對于黃金的價值接近歷史新高,這可能暗示著出現了一種新的優先價值存儲。 比特幣用黃金來衡量,比特幣的價格在周二達到了34.94盎司.
1900/1/1 0:00:00在量子計算面前,區塊鏈的加密技術可以說是不堪一擊。別著急清倉,因為這只是一個理想概念,即便是國內18量子比特的光亮子計算機,還是谷歌72量子比特計算機,都還達不到量子霸權的階段.
1900/1/1 0:00:00