浮点数,才是人间烟火前言
在前篇《VB的整数,你真的了解?》中,向读者介绍整数时提到,计算机里实际上只有整数一种类型。那浮点数是如何表示的呢?浮点数的使用性能是不是比真正的整数要差呢?VB在应用过程中要注意哪些事项呢?本篇将详细分析,来看看吧。
一、浅谈浮点数
人类在进化过程中,发明了很多种度量单位,来量化我们所处的世界。但在客观世界里,没有那么多刚刚好的事。比如银行存款余额,时间,导弹射程,战舰位置等,人类也不可能无限细分度量单位。好比在计算机世界里,我们不能给每个内存单元(字节)都取一个名字,只能给有意义的内存冠名(变量)。
彭博社分析师:贝莱德比特币ETF可以释放价值30万亿美元的财富:金色财经报道,彭博ETF分析师Eric Balchunas表示,如果美国证券交易委员会批准比特币现货ETF,价值30万亿美元的资金可能会突然释放到比特币市场。这是美国财务顾问控制的资产估计数量,他们愿意通过受监管的交易所交易基金投资比特币。Balchunas表示,全球最大资产管理公司贝莱德的参与足以将比特币现货ETF获得批准的可能性从1%提高到50%。[2023/7/12 10:49:05]
这时浮点数就显得异常重要了,代表着人类对客观世界的把控程度。这种把控充满了主观色彩,可以用”在乎”一词来形容浮点数对人的意义。首先,在不同背景下,需要不同的精度。比如我们很少在意金钱数据角分之后的数据,但是在高能物理界可能需要小数点后N个数位,否则差之毫厘失之千里。其次,精度的转换又常常在不经意间发生。比如朋友来了有好酒,我们出手阔绰,毫不计较。但敌人来了有猎,一个子儿也不会多给。
三菱日联:通胀数据依然较高 美联储仍将加息25个基点:金色财经报道,三菱日联经济学家表示:“本周录得的通胀数据虽符合预期,但仍然较高。我们预计美联储的紧缩周期即将结束,未来最多还会收紧50个基点,我们可能会看到FOMC在进一步加息25个基点后暂停加息。”该行经济学家还称:“虽然美国本周的通胀数据不能保证收紧速度加快至50个基点,但如果美国的金融市场状况不会因为美国或其他地方的地区性银行发生另一件事而再次恶化,那么通胀水平仍高到足以证明下周继续加息是合理的。”[2023/3/17 13:09:39]
虽然,计算机只认整数,但是我们人更多地是认小数(也即浮点数或实数)的,因为小数才有现实意义。超算和比特币矿机,想必大家有所耳闻,他们都偏重计算,讲究的是算力。如果说比特币矿机有点不务正业,那超算是正儿八经的为科学研究服务吧。很多高精尖领域的研究,都离不开超算。但是衡量超算能力最核心的指标之一,就是浮点运算能力。
DCG创始人Barry Silbert:没有从Genesis借款16.75亿美元:金色财经报道,针对加密货币交易所Gemini联合创始人Cameron Winklevoss发布公开信声称DCG欠了Genesis大约16.8亿美元资金,而且“烂摊子”均是其创始人Barry Silbert一人造成,Barry Silbert在社交媒体做出回应,他表示DCG没有从Genesis借款16.75亿美元,而且下一次贷款还款到期日是2023年5月,而且DCG并没有采用“恶意拖延战术”不还钱,而是已经在12月29日向Genesis和Cameron Winklevoss的顾问提交了一份提案,但截止目前尚未收到Gemini任何回复。[2023/1/3 22:21:21]
最近币市火爆,笔者也有谈到比特币,有朋友问矿机为何要装显卡?其实,就跟浮点数运算有关啦。我们知道显卡专注于提升图像图形的处理能力,而图形的处理就涉及到精度的问题,也就是浮点数的处理喽。而比特币挖矿在非对称加解密、哈希等计算中要涉及浮点数的,所以给矿机加显卡,是可以提高算力的。
梅赛德斯AMG车队宣布暂停与FTX的合作:11月11日消息,梅赛德斯AMG车队(Mercedes AMG Petronas F1 Team)宣布暂停与FTX.com的合作关系。(MotorSport)[2022/11/12 12:53:10]
二、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精彩等你来看>
标签:比特币DATTYPE比特币中国官网联系方式40亿比特币能提现吗比特币最新价格行情走势DAT价格DAT币TYPE价格TYPE币
2009年1月9日,一个化名中本聪的人首次发布比特币代码,到如今,这种堪称天才创造的电子货币已经从极为小众的新鲜事物,壮大成某种意义上的经济奇迹.
1900/1/1 0:00:00比特币是不是货币的未来? 创新科技理念今天 以下文章来源于张是之,作者张是之 张是之 经济学科普者,「一课经济学」创办人。 文丨张是之 一、货币的起源 关于货币的起源,我认为并不复杂.
1900/1/1 0:00:00近两年,特别是2020年,国家大力推进工业软件行业的发展。和之前的工业互联网联系在了一起。业内,把工业软件和工业互联网混为一谈,不是认为工业互联网包含了工业软件,就是认为开发工业软件等同于做工业.
1900/1/1 0:00:00据法新社报道,加密货币近期遭遇集体重挫,23日晚间,比特币价格一度跌至45200美元左右,单日暴跌超1万美元。不过,比特币价格随后出现反弹,截至北京时间今天上午11点,维持在5万美元上方.
1900/1/1 0:00:00有先锋计算pi币量方法不正确,得出错误的结论,比如人均基础币1000个,而人均总币量却能达到4000,这犯了常识性错误,很多先锋误将人均挖矿速度估算成自己挖矿速度中间某一个值,导致计算错误.
1900/1/1 0:00:00最近大家除了关心比特币破六万的走势之外,最吸引币圈人眼球的恐怕就是FIL了。这个备受币圈尤其是国内外币圈瞩目的项目,目前,比特币在2021年初实现了前所未有的上涨,达到了6.18万美元的高点,几.
1900/1/1 0:00:00