做一个网站赚钱吗菏泽定制网站建设推广

news/2025/9/23 1:58:29/文章来源:
做一个网站赚钱吗,菏泽定制网站建设推广,南京高新区网站建设,做商城网站需要多大的服务器前言 前段时间开发新的微信小程序#xff0c;借此机会将老掉牙的支付模块重构#xff0c;并且支持现金支付#xff08;之前都是虚拟币支付#xff09;#xff0c;在重构期间遇到计算上的一些精度问题#xff0c;虽然数额影响非常小但是影响比较大#xff0c;我觉得有必…前言 前段时间开发新的微信小程序借此机会将老掉牙的支付模块重构并且支持现金支付之前都是虚拟币支付在重构期间遇到计算上的一些精度问题虽然数额影响非常小但是影响比较大我觉得有必要总结以下遇到的一些问题并且解决弄清楚他的原来因此有下文。 先看几个现象 当我们程序中涉及到一些double或者float类型的数据并且精度要求比较高小数点位数比较多的时候可能会出现一些非常奇葩的问题我下面针对遇到的一些问题给出几个说明案例 条件判断异常 //比较特殊的案例 System.out.println(1f 0.9999999f); //false System.out.println(1f 0.99999999f); //true数据转换异常 float f 0.6f; double d1 0.6d; double d2 f; System.out.println((d1 d2) f d2);//false 0.6 基本运算异常 System.out.println( 0.2 0.7 ); //0.8999999999999999数据自增异常 float f1 8455263f;for (int i 0; i 10; i) {System.out.println(f1);f1;} //8455263.0 //8455264.0 //8455265.0 //8455266.0 //8455267.0 //8455268.0 //8455269.0 //8455270.0 //8455271.0 //8455272.0float f2 84552631f;for (int i 0; i 10; i) {System.out.println(f2);f2;} //8.4552632E7 //8.4552632E7 //8.4552632E7 //8.4552632E7 //8.4552632E7 //8.4552632E7 //8.4552632E7 //8.4552632E7 //8.4552632E7 //8.4552632E7Java中浮点类型精度问题 要搞清除还是得从java的double和float类型来入手我们都知道计算机只认识二进制的01那么在double和float中有整数部分小数部分如此说来那么应该会有一定的方式将小数转为计算机认识的01 组合这中方法是定义的一个转换标准其实而Java中浮点数采用的是IEEE 754标准 IEEE745 标准 IEEE 745 是IEEE二进制浮点数算数标准Standard for Floating-Point Arthmetic的标准编号等同一个国际标准ISO之类是美国哪家公司订的这个标准定义来表示浮点数的格式包括负零-0与反常值denormal number一些特殊数值例如无穷inf非数值NaN以及一些数值的“浮点数运算子”它知名来四种数值修约规则和五种例外状况。还有要了解的可以去JDK官网 浮点数的组成结构 我们学习计算机组成原理的时候应该学过的Java中表示小数的时候有三个组成部分 符号位 S阶码部分 E尾数部分 M 这三个纬度的信息一个浮点数表示就可以完全确认下来如下图所示的存储结构 符号位部分 S 0 表示正数 1 表示负数阶码部分E 只整数部分 对于float型浮点数指数部分8 位考虑可正负因此可以表示的指数范围是-127128对于double类型浮点数指数部分11 为可正负因此可以表示的指数范围是-12031024 尾数部分 M 对于float类型来说尾数23 为计算成十进制就是223 8388608所以十进制精度只有67位对于double类型来说尾数部分52位计算成十进制就是2524503599627370496所以十进制的精度是1516位 以上几个都是官方的数据 总结 浮点数float和double在内存中是按照科学计数法来存储的取值范围是由指数的位数来决定的精度是由尾数的位数来决定的。 浮点数精度/位数符号S指数E扩展范围 (指数的取值范围)最大/小值(取值范围)尾数位M尾数取值范围(精度)float32bit 单精度1bit(0正1负)8bit-27 ~ 27-1(-128~127)2127(1038级别的数)23bit8388608,7位,精度为6~7位double64bit双精度1bit(0正1负)11bits-210 ~ 210-1(-1024~1023)21023(10308级别的数)52bit45035_99627_37049_6,16位,精度为15~16位 浮点数和二进制数互相转化 十进制浮点数如何用二进制表示 计算过程小数部分将小数部分乘以2取出结果中整数部分作为二进制表示的第一位大于等于1为1小于1 为0然后在将小数部分乘以2得到整数部分作为二进制表示第二位…依次类推知道小数部分位0.特殊情况永远都不会位0:小数部分循环出现无法停止则用优先的二进制位无法表示这个小数这也是在编程语言中小数位出现误差的原因。我们用如下的案例来说明这个过程10.6: 0.6*21.2 ---- 1 0.2*20.4 ---- 0 0.4*20.8 ---- 0 0.8*21.6 ---- 1 0.6*21.2 ---- 1 0.2*20.4 ---- 0 . . . 0.6*21.2 ---- 1 0.2*20.4 ---- 0以上我们可以发现0.6 是一个无法精确表示的一个数值用二进制表示1001 1001 1001 1001 …那10.6 的二进制我们可以表示如下1010.1001 1001 1001 … 二进制浮点数如何转为十进制 计算过程从左到右v[i]*2(-i), i为从左到右的indexv[i]为该位的值直接看例子如下10.6 的二进制1010.1001 1001 1001从小数点位为基准如下0 * 20 1 * 21 0 * 2 2 1 * 23 0208//整数部分1 * 2-1 0 * 2-2 0 * 2-3 1 * 2-4 1 * 2-5 0 * 2-6 0 * 2-7 1 * 2-8 … 0.50.0625 0.03125 ≈ 0.6 // 小数部分 问题解答 我们通过开始的案例还有之前关于doublefloat这部分的分析我们来解答一下最开始的哪些问题是怎么出现的 float类型赋值给double类型变量出现精度问题 因为float的尾数23为double尾数52位所以float类型中保存的0.6 的二进制转成double二进制的时候低位的二进制自动变成0 与用double类型保存的0.6的二进制是不一样的所以出问题来如下图来解释 float 类型的0.6f 1001 1001 1001 1001 1001 100 double类型的d1 0.6d 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 将float类型f 赋值给double类型的d2后d2 的实际数据位 1001 1001 1001 1001 1001 1000 0000 0000 0000 0000 0000 0000 0000如上如果用d2 和d1 比较他们肯定是不相等的 第一个案例分析 System.out.println( 1f 0.99999999f );这个结果是true因为计算机无法区分这个两个的二进制数我们也来推到一些他们的二进制表示 1.0十进制↓ 00111111 10000000 00000000 00000000二进制↓ 0x3F800000十六进制0.99999999十进制↓ 00111111 10000000 00000000 00000000二进制↓ 0x3F800000十六进制0.9999999十进制↓ 00111111 01111111 11111111 11111110二进制↓ 0x3F7FFFFE十六进制如上这第一个和第二个二进制数是一样的第三个是不一样的只是因为上面的0.99999999f8个9 明显超过来float类型的精度范围凑巧和1 是一样的就出现这种问题。 浮点计算 Java当中默认声明的小数是double类型的其默认后缀d或D可以省略如果要声明为float类型需显示添加后缀f或F我们尽量用BigDecial来计算

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站seo检测做网站招商需要具备什么

无人机航测精品专栏链接:《无人机航空摄影测量精品教程》 【天工Godwork精品教程】任务一:创建工程(导入相片、编辑相机参数、导入POS) 【天工Godwork精品教程】任务二:导入控制点、POS权重设置、自由空三 【天工Godwork精品教程】任务三:刺像控点、空三平差、精度优化调…

文山专业网站建设漯河做网站的

当我们的代码打包过后再看源码就会变成下面这个样子: 这时候我们就调试不了我们的代码 解决方式: 在webpack.config.js中添加如下代码: module.exports {mode: "development", // 设置打包的模式:production生产模式…

门户网站建设的必要性大连排名推广

Sleuth 一 引言 随着服务的越来越多,对调⽤链的分析会越来越复杂。它们之间的调⽤关系也许如下图: 问题: 1:微服务之间的调⽤错综复杂,⽤户发送的请求经历那些服务,调⽤链不清楚,没有⼀ 个⾃…

建设网站服务费会计分录网站建设的销售话术

写在前面 Edge现在也不管用户体验了吗? 这个BUG都快一个月了,还没见修复,从118.0.2088开始,我是在2023年10月份一次更新后发现的这个BUG,结果社区论坛什么信息都没有,英文也没收到。 Edge的BUG现象 不知道哪次Edge…

网站正能量大全上海公司排名

有时需要判断一个字符是不是汉字,比如在用户输入含有中英文的内容时,需要判断是否超过规定长度就要用到。用 Javascript 判断通常有两种方法。1、用正则表达式判断js判断字符是否是汉字.content{width:350px;overflow:hidden;border:1px solid #ddd;}fun…

网上宿迁官方网站互联网推广方法

1、电路芯片 485芯片有很多种,项目中用的比较多的是高速SP3485。满足RS-485和RS-422串行协议的要求,兼容工业标准规范,数据传输速率可高达10Mbps(带负载)。 2、工业设计 485需要做防雷考虑、瞬态过电压抑制、阻抗匹配…

郑州制作平台网站舟山做网站

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。正则表达式经常被用于字段或任意字符串的…

金坛建设网站深圳 网站制作

近年来,ITX主机和小型化系统变得越来越受欢迎。英特尔的NUC受到许多玩家们的关注。作为mini主机的代表NUC小巧设计和灵活性使它成为很多玩家和科技爱好者的选择。它的高性能和可玩性使得它在迷你型准系统市场上备受推崇。双11来临之际,我们分析下哪款高性…

青岛做网站eoe广告店名大全集

涤生_Woo2017年11月11日阅读 15544关注一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍。一图看完本文一、 计算机网络体系结构分层计算机网络体系结构分层计算机网…

支付网站招聘费分录怎么做附近电商培训班

文章目录 1. 什么是EPS?2. 主要构成3. EPS的设计如何符合功能安全?4. 代表性的厂家1. 什么是EPS? EPS(Electric Power Steering,电动助力转向系统)是一种利用电动机提供转向助力的系统,取代了传统的液压助力转向系统(HPS)。EPS通过传感器检测驾驶员的转向意图,并由电…

新手建设什么网站好如何进行网站icp备案

最近参加了成都精灵云的笔试与面试,岗位是c工程师。后面自己复盘了过程,复试部分总结如下,希望能对各位想进该公司以及面试C工程师的同学提供一些参考。     后续也会陆续分享各公司的面试和笔试经验在该专栏,想看的可以关注一下…

企业网站开发的文献综述网站页头制作

preg_replace_callback 函数执行一个正则表达式搜索并且使用一个回调进行替换。语法图1这个函数的行为除了可以指定一个 callback 替代 replacement 进行替换字符串的计算,其他方面等同于 preg_replace()。参数说明:$pattern: 要搜索的模式,可…

网站制作教程一般地建网络网站建设与维护的重要性

2017年计算机二级上机考试试题及答案20世纪60年代中期之前的第一代计算机网络是以单个计算机为中心的远程联机系统。下面是小编整理的关于计算机二级上机考试试题,希望大家认真练习!1[单选题] 一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树…

金昌做网站中国航天空间站最新消息

MS SQL Server简介 Microsoft SQL Server(简称SQL Server)是由微软公司开发的关系数据库管理系统,它是一个功能强大、性能卓越的企业级数据库平台,用于存储和处理大型数据集、支持高效查询和分析等操作。SQL Server 支持广泛的应…

汕头网站建设公司wordpress获取当前分类文章数

什么是分布式锁 1.1 作用: 保证数据的正确性: 比如:秒杀的时候防止商品超卖,接口幂等性。 避免重复处理数据: 比如:1避免调度任务在多台机器重复执行,2避免缓存过期所有请求都去加载数据库。 一…

网站建设做账拓者设计吧首页

Golang交叉编译主要依赖几个参数:GOOS、GOARCH和CGO_ENABLED。 参数作用GOOS交叉编译的OSGOARCH交叉编译的CPU架构CGO_ENABLED设置为0时,编译出的二进制是静态的,也就是说没有外部的依赖。 编译在arm64的linux环境运行的程序: …

网站推广策划评估工具7网站点击赚钱怎么做

存储函数是有返回值存储过程,存储函数的参数只能还是IN类型的 1、语法 create function 存储函数名称 ([参数列表])Returns type [characterrastic...]Begin--SQL语句Return ..;End;characterrastic说明:Deterministic:相同的输…

返利网网站怎么做怎么创一个网站赚钱

1.网络编程 Java 提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。 1.1 InetAddress类 In…

建网站不花钱免费建站办公空间设计要素

注释很详细,直接上代码 上一篇 新增内容: 1.外界面个人资料基本模块 2.资料修改界面同步问题实现(细节挺多,考虑了后期转服务器端的方便之处) 源码: app.json {"window": {},"usingCompone…

鞍山制作网站2018年临沂建设局网站

当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务。图片来自 Unsplash这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等。在实…