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

什么是浮点计算?

浮点运算就是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。普通整数的表达方式很简单,就是二进制的同一个数字而已。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两个整数。

多米DOMI公链与金色财经签署媒体及社区建设合作协议:2021年9月8日,总部位于弗吉尼亚州多米基金会Domino Foundation与金色财经签署了媒体和社区建设合作协议。根据协议,Domino Foundation将与金色财经合作,为行业提供有关区块链发展的最新信息,并建立一个忠实的用户社区。

多米DOMI链正在构建一个超高速的公链,将与其他公司合作构建一个生态系统,包括全球点对点支付、DeFi、NFT、DApps 和其他应用程序。[2021/9/22 16:57:13]

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

金色晨讯 | 9月15日隔夜重要动态一览:21:00-7:00关键词:YAM Finance、Compound、SushiSwap、以太坊2.0

1. YAM Finance将于本周五重新启动Yam协议;

2. 泰国央行启动基于区块链的政府储蓄债券发行平台;

3. Tether联合创始人Brock Pierce涉嫌证券欺诈;

4. 尼日利亚SEC发布针对数字货币及加密公司的监管指南;

5. 本月以太坊2.0将推出新测试网Spadina 与Medalla并行运行;

6. MakerDAO发起多项治理投票;

7. 瑞士加密银行正合作开发瑞士法郎稳定币;

8. 韩国投资者就Upbit“荷兰拍卖”代币上市策略提起正式投诉;

9. 北京比特大陆法人由詹克团变回吴忌寒;

10. Sushiswap投票已通过 明日将进行1400万美元SUSHI代币回购。[2020/9/15]

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

金色财经行情播报丨BTC昨夜缓慢上涨 早间出现波动:据火币行情显示,BTC昨夜稳步上攻前期整理平台上沿11,450USDT,冲高至11,470USDT后,快速回落最终停滞于11,380USDT一线进行横盘整理。早间5:05出现一波加速下跌行情,最低跌至11,137USDT后出现V型反转,快速收复下跌区间,后回升至11,380USDT区间继续整理。在此价格区间内多空双方出现了一定的争夺,但是成交量并不大,整体趋势短期内逐步上升。短期内关注能否有效突破11,450USDT前期阻力位。截至10:00,主流币的具体表现如下:[2020/8/4]

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

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

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

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

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

银河链

[0:15ms0-1:628ms