比特币:金色百科丨什么是浮点计算?对区块链有什么影响?

什么是浮点计算?

浮点运算就是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。普通整数的表达方式很简单,就是二进制的同一个数字而已。1是1,2是10,3是11,4是100之类的。但是计算机要如何表示小数点呢?

一个浮点数字被分为两半,其中一半记录一个数字,另一半记录10 的次方数。例如1.56424可以写成156524乘上10的-5次方,但是,其中一个是负数,电脑怎么表示呢?其实也很简单。比如说总共只有4位数,可以表达0-9999,还是分成两半,定义其中4999表示0,4998表示-1,5000表示+1等等。那么刚刚的小数就可以写成156424,4994两个整数。

金色午报|1月4日午间重要动态一览:7:00-12:00关键词:Yearn Finance、数字人民币、彭博社、Bitwise

1.Yearn Finance通过新代币经济模型提案,未来 YFI 持有者需质押代币才能参与治理;

2.数字人民币(试点版)App上架各大应用商店;

3.彭博社:苹果公司去年的股票表现优于比特币;

4.Bitwise公布2021年低加密指数重组结果,Avalanche取代Uniswap进入10大盘加密指数;

5.三星美国公司与veritree合作使用区块链植树200万棵;

6.梅拉尼娅特朗普发推纪念比特币诞生13周年;

7.马斯克:比特币创世区块让我想起《创世纪5:命运斗士》游戏;

8.LinksDAO已筹集1050万美元并计划2022年推出治理代币。[2022/1/4 8:23:49]

这就是电脑里的浮点数。显然程序要做的并不是将两个整数直接相加,因为其中一部分是次方数,次方数不容的两个数字不能相加,即便相同,最后的结果也可能影响次方数等等一些列问题。写一个软件进行换算让CPU的基本整数运算电路来算浮点效率很差,因此现代的处理方式是直接在处理器里设置浮点电路,也就是fpu。

金色晨讯 | 7月29日隔夜重要动态一览:21:00-7:00关键词:比特币期货、比特大陆、迪拜政府

1.比特币期货交易量突破400亿美元。

2.北京市或将建设基于区块链等技术的供应链债权债务平台。

3.CFTC主席:金融系统的很大一部分或将以区块链形式存在。

4.外媒:俄罗斯央行坚持认为加密货币是犯罪领域。

5.上海将推动工业互联网平台与区块链等深度融合。

6.迪拜政府已启动其KYC区块链平台。

7.比特大陆正蓝旗矿场声明:必将倾力追责。

8.Bitfinex黑客再次转移超476枚比特币。

9.武汉市江汉区八条措施促进区块链产业创新发展。

10.比特币小幅小跌,日内最高报11169美元,最低报10843.95美元。[2020/7/29]

由于CPU电路设计是基于位宽的(就是数据有多少位),所以浮点数字是有固定长度的。比如156424,4994是12位,在同样的格式下是无法表达出1.56424739的,多余的位数只能丢掉,也就是只能取到近似值。

金色晚报 | 3月2日晚间重要动态一览:12:00-21:00关键词:产业指导意见、巴哈马、OKB销毁

1.上海将研究制定区块链+等在线科技产业指导意见。

2.巴哈马央行数字货币已被推广到阿巴科斯岛。

3.微信上线区块链电子发票极速版。

4.劳埃德银行推出加密货币钱包保险政策。

5.BIS报告:推动消费者采用CBDC的关键在于其可用性。

6.高盛:预计美联储将提前降息50个基点。

7.ECDC将新冠肺炎的风险等级自“温和”上调至“高”。

8.OKEx第七次回购销毁3,183,344.61枚OKB。

9.Bitfinex将于3月6日删除部分交易对。[2020/3/2]

数据位数越多,就需要更宽,更复杂的的电路。目前因特尔CUP计算浮点的时候内部精度是80位,输出为还是64。显卡很多都是单精度32位的。

在区块链领域,保持智能合约的正确精确度非常重要,尤其是在处理反映经济决策的比例或者比率时。

试想,如果在代币的运算中出现运算结果小于1的情况,那么0.XXX就会被约等于0. 同样4.9个代币也会被约等于4个,带来一定程度上的精度流失。由于代币的经济属性,精度的流失就相当于资产的流失,所以这在交易频繁的代币上会带来积少成多的问题。

智能合约运算中的精度问题其实追根究底也是计算机精度问题的延申。但是由于区块链产业目前的经济属性,精度无疑成为安全的一个重要考量,在精度的问题上多下功夫,有益无害。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-1:81ms