打破你的认知,数字除以 0 一定会崩溃吗?

AI不是工具而是认知协议:给实干者的工程化认知校准指南 人工智能本质上是面向不确定性的概率化建模与决策压缩,而非通用智能或自动化捷径。其技术价值不在于算法先进性,而在于能否在数据质量、算力约束与反馈闭环三重现实条件下,完成可解释、可接管、可进化的工程选择。理解AI即理解‘它能稳定替代哪一段人类认知劳动’,这决定了模型是否真正嵌入业务流——例如客服场景中识别‘我要退款’而非误判为‘功能建议’,或工业质检中区分‘焊缝裂纹’与‘镜头脏污伪影’。因此,AI落地的核心不在调参与算力堆砌,而在Chapter 0的认知校准:明确能力边界、定义失效接管、设计数据反哺。本文聚焦A 阅读详情

一、引言

在这个浮躁的社会,我们都学会了一种技能,快速学习使用各种开源库、开源框架。

学习使用各种高端大气的技术,热修复、插件化、模块化、ORM……

这些技能固然重要,但是有时候也要放慢脚步,耐着性子,打打基本功。

不要看不起这些零零碎碎的基础知识,这些基础日积月累,慢慢的会让你跟同事拉开差距。

接下来,我们直奔主题。开始我们的基本功。

二、代码1

System.out.println("1/0=" + 1/0);

大叔的灵魂拷问:

上面的代码会崩溃吗?如果不会,会输出什么呢?

上面的代码会崩溃吗?如果不会,会输出什么呢?

上面的代码会崩溃吗?如果不会,会输出什么呢?

运行直接崩溃。

三、代码2

我们再来看一行代码:

System.out.println("1.0/0=" + 1.0/0);

大叔的灵魂拷问:

会崩溃吗?如果不会,会输出什么呢?

会崩溃吗?如果不会,会输出什么呢?

会崩溃吗?如果不会,会输出什么呢?

输出日志:

四、为什么?

为什么浮点数除以0不会崩溃?

我们先说结论:

因为java的float和double使用了IEEE 754标准。

这个标准规定:浮点数除以0等于正无穷或负无穷。

4.1、Double类的定义

于是我们打开Double这个类来看看。

infinity单词的意思是:无穷大

NaN是Not a Number的简称,也就是非数。

于是,我们发现,正无穷大的定义居然是1.0f/0.0f 。负无穷大的定义为 -1.0f/0.0f,非数的定义为0.0f/0.0f

4.2、代码段3

我继续看一个代码段:

public static void main(String[] args) {
  System.out.println("1.0/0=" + 1.0/0);
  System.out.println("-1.0/0=" + -1.0/0);
  double positiveInfinity = 1.0/0;
  double negativeInfinity = -1.0/0;
  System.out.println("(positiveInfinity==negativeInfinity)=" + (positiveInfinity==negativeInfinity));
  System.out.println();

  System.out.println("100.0/0=" + 100.0/0);
  System.out.println("-100.0/0=" + -100.0/0);
  System.out.println();

  System.out.println("0.0/0=" + 0.0/0);
  System.out.println("(-0.0==0.0)=" + (-0.0==0.0));
}

大叔的灵魂拷问:

上面的代码段会输出什么呢?

上面的代码段会输出什么呢?

上面的代码段会输出什么呢?

运行结果:

4.3 java语言规范( Java Language Specification)

docs.oracle.com/javase/spec…[1]

注意关键词1:

IEEE 754

java的单精浮点数float和双精浮点数double,符合IEEE 754标准。

IEEE 754:二进制浮点数算术标准 ,这个标准描述了浮点数的存储以及处理的一些规范。

注意关键词2

A NaN value is used to represent the result of certain invalid operations such as dividing zero by zero.

翻译过来的就是:NaN = 0.0/0.0

这也就是我们看到Double类里面NaN的定义。

我们把这个文档往下翻一些,会发现这么一句:

for example, 1.0/0.0 has the value positive infinity, while the value of 1.0/-0.0 is negative infinity.

翻译成中文:1.0/0.0 等于正无穷大,1.0/-0.0 等于负无穷大

于是我们明白,浮点数除以0并不会崩溃,他是合法的,是符合IEEE 754规范。

也正是因为 IEEE 754的规范就是这么规定的,所以java才这么实现的。

下面这段来自,维基百科,en.wikipedia.org/wiki/Divisi…[4]

五、有什么用呢?

我们即使知道了,浮点数除以0不会崩溃,知道了IEEE标准,有什么用呢?

很多人都会觉得,费这么大劲,理解了,浮点数除以0不会崩溃,能有什么用呢?平时我们写代码都不会除以0。这么骚的操作,我才不会这么干。

是的,这个操作是有点骚,你不会这么干并不代表其他同事不会这么做。而且很可能你这么干了自己不知道。

在我们写业务代码的时候,这个知识点,很少很少能用上。

但是当我们刚好遇到除以0导致的bug的时候,这个时候就非常有用。最近我也写了个全局变量的bug,被同事们打脸,推荐大家看下。

尤其像android的app,用户在线上遇到的bug,我们无法复现,只能通过日志去分析排查时;

这个时候每个程序员都是福尔摩斯,根据一行行日志线索,配合实际代码,排查问题的可能性。

如果我们的认知是错误的,任何数除以0都会崩溃,那么我们的分析将会直接绕过真相去推理。于是得出结论,怎么可能有bug,不可能的。

于是浪费了很多时间,去收集线索,去推翻我们固有的认知,才能找到真相。

假如我们一开始就有正确的常识,我们就会少走很多弯路。

大叔给大家,讲一个工作中真实的故事:

有位同事写了这么一段代码

/**
* 速度换算 米/秒
* @param distance 距离,单位米
* @param time 时间,单位秒
*/
float computeSpeed(float distance, long time){
  return distance/time;
}

然后有一天突然某同事从另一个进程获取到数据传入这个函数。

再然后,突然有一天发现,速度显示一串很奇怪的数字。

于是……接下来的故事,便如你们所想。

原本1小时就解决的bug,花了5个小时。

也正如,blog开头的引言所表达的。不要小看这些零零碎碎的知识点。

AI认知钝化:当工具越锋利,思考越迟钝 AI辅助写作与知识处理正重塑人类认知模式——它并非简单提升效率,而是通过概率收敛、答案前置和过程外包,悄然弱化发散思维、批判性判断与知识内化能力。这种‘AI认知钝化’现象,本质是神经可塑性在高频人机交互下的适应性偏移:前额叶激活下降、多巴胺奖赏路径转移、工作记忆与元认知功能退化。其技术价值在于加速信息整合与表达优化,但代价常体现为创造力萎缩、理解幻觉与思维寄生。典型应用场景包括内容创作启动阻滞、学习路径依赖、会议纪要自动化等高渗透环节。本文聚焦深度AI使用者的真实认知迁移过程,揭示从‘工具延伸’到‘思维代偿 阅读详情

相关推荐

注意力不是资源而是精密仪器:认知科学驱动的抗干扰工作系统

注意力是人类高阶认知功能的核心载体,其本质并非可无限调度的抽象资源,而是一套受神经生理节律严格约束的动态系统——存在预热延迟、切换损耗、过热衰减与冷却需求。基于fMRI与行为实验验证,单次任务切换平均消耗42秒认知带宽,并显著抬升逻辑断层率与返工概率;同时,AI工具若嵌入高频响应场景,反而加剧决策疲劳而非释放创造力。该机制深刻影响软件开发、产品设计、远程协作等知识密集型工作流的质量稳定性与可持续性。本文从认知科学原理出发,提供可落地的物理环境改造、数字工具链权限审计、会议流程再造及个人节奏校准四步法,帮助工

chouchijiao8952的博客 388

NDK开发中为什么除以0程序不崩溃?

我们都知道不管是在Java还是在C++程序中,下面这段代码都会导致程序错误: int x = 10; int y = x / 0; ... 但是我今天发现了一个比较神奇的事情,把这段代码写成Native方法后在Java层调用,竟然没有导致App崩溃,代码是这样子的: #include <jni.h> #include "logger.h" #ifdef __cplusplus ex...

倚竹幽篁 2220

双模态注意力管理:专注与自由共生的认知操作系统

注意力管理是知识工作者的核心生产力基础,其本质并非延长单次专注时长,而是协调大脑默认模式网络与执行控制网络的协同振荡。基于神经科学验证的‘切换税’理论和工作记忆容量限制(4±1个组块),高效系统需兼顾认知压缩、感官重置与思维弹性。本文提出的双模态框架——聚焦态(高强度认知压缩)与游移态(90秒结构化漫游)——通过三秒剥离仪式、压缩包任务拆解、认知负债清算等可落地机制,帮助用户在碎片化环境中重建注意力自主权,适用于程序员、设计师、教师、创业者及学生等高频切换场景。

dingguayi7025的博客 580

关于除零的故事

今天早上开晨会 有同学说 unity 上发布的程序到 模拟器上运行时,遇到了一些数值为 nan 的情况 这个 nan 很明显就是: not a number 的意思 可能不知道的同学还以为是什么东东 因为类似的情况我再很多其他的语言都是这么处理的:as3, py, js, c++, c#, c类语言都是, etc. 那么继续问题:unity 上发布的程序到 模拟器上运行时,遇到了一些数值为 nan 的情况 然后有其他的大佬说,这可能是除零导致的结果 后来我说,“这应该不是除零的结果,因为除零一般都是得到无穷

Jave.Lin 的学习笔记 393

AI已就绪,但人类认知基础设施尚未适配

人工智能已从实验室走向产线,在质检、风控、法律文书等真实场景中展现出超越人类平均水平的鲁棒性与稳定性,其‘就绪’是工程化、可测量、可审计的事实。然而,人类社会赖以运行的认知基础设施——包括责任认定逻辑、能力评估范式、人机协作流程、教育培养目标及制度响应机制——仍深度绑定于确定性、意图明确、因果可溯的传统模型,与AI的概率性、涌现性、黑箱性存在系统性错配。这种‘认知断层’导致大量AI落地失败并非技术缺陷,而是评估失准、协作失效与信任缺失所致。本文聚焦人机协同成熟度(HACM)这一可实操框架,提供从工具使用者到

ateu52935的博客 390

SpringBoot Actuator未授权访问漏洞实战:从发现到利用

本文深入剖析了SpringBoot Actuator未授权访问漏洞的成因、危害与利用手法。文章详细演示了如何发现暴露的端点,并通过实战案例复现了从敏感信息泄露到利用反序列化漏洞实现远程代码执行(RCE)的全过程,为开发与运维人员提供了从漏洞发现到修复加固的完整安全指南。

weixin_29231221的博客 260

打破你的认知,java,除以0一定会崩溃吗?

一、引言 在这个浮躁的社会,我们都学会了一种技能,快速学习使用各种开源库、开源框架。 学习使用各种高端大气的技术,热修复、插件化、模块化、ORM…… 这些技能固然重要,但是有时候也要放慢脚步,耐着性子,打打基本功。 不要看不起这些零零碎碎的基础知识,这些基础日积月累,慢慢的会让你跟同事拉开差距。 接下来,我们直奔主题。开始我们的基本功。 二、代码1 System.out.println("1/0=" + 1/0); 大叔的灵魂拷问: 上面的代码会崩溃吗?如果不会,会输出什么呢? 上面的代码会崩溃吗

IT互联网大叔的专栏 4100

MATLAB 设置legend加标题

x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')%水平 legend添加标题 lgd = legend; lgd.Fon

早起CaiCai的学习空间 4714

Unity版本Bug总结

记录一下遇到的坑

末零 的博客 1289

FDTD远场分析实战:从monitor数据到3D远场可视化的完整流程

本文详细介绍了FDTD远场分析的完整流程,从monitor采集的近场数据出发,通过近场-远场变换(NFFFT)生成3D远场可视化结果。文章重点解析了远场转换的物理原理、关键参数设置,并提供了构建稳健数据处理流水线及高级可视化(如3D辐射方向图)的实战脚本与技巧,适用于天线设计与光学器件分析。

weixin_29063035的博客 230

PCIE Lane Margining Linux 环境配置

Copy all the provided files in folder PYC38 or PYC310 to the created pcie_lmt folder. Index of /ftp/python/3.8.10/Copy below commands to a file and rename it as "scan_pcie.py", the commands are from "685662 PCIe-LMT-Gen4_Gen5-r0p77.pdf" in the lane margi

mysongshine的博客 1439

打破你的认知,数字除以 0 一定会崩溃吗?源码藏着彩蛋

作者:IT互联网大叔链接:https://juejin.im/post/5edcc957e51d4578801683c0一、引言在这个浮躁的社会,我们都学会了一种技能,快速学习使用各种开...

emprere的博客 314

使用 Vosk 实现语音识别

在近两年里,如果说想要在本地部署离线语音识别模型,那么和肯定是首选项。所以为什么要使用呢?

weixin_48967543的博客 9719

数字类 default 0和 default 0_打破你的认知,数字除以 0 一定会崩溃吗?

作者:IT互联网大叔链接:https://juejin.im/post/5edcc957e51d4578801683c0一、引言在这个浮躁的社会,我们都学会了一种技能,快速学习使用各种开源库、开源框架。学习使用各种高端大气的技术,热修复、插件化、模块化、ORM……这些技能固然重要,但是有时候也要放慢脚步,耐着性子,打打基本功。不要看不起这些零零碎碎的基础知识,这些基础日积月累,慢慢的会让你跟同事拉...

weixin_39638105的博客 326

如何在白平衡标定种构建不同类型的白平衡色温坐标系

以各家芯片方案的白平衡色温坐标系为切入点,详细介绍了各家芯片色温坐标系构建的理论依旧;并解析了不同色温坐标系下的物理含义,提提出了多种不同的色温坐标系

大熊 960

couldn‘t upgrade db schema: insert into ACT_GE_PROPERTY values (‘common.sche[已解决]

启动整合了flowable的项目,初始化时报错。flowable没有自动建表, 原因 测试数据库版本是MySQL5.7。经过查询和尝试,原因是:在这个数据库里面,已经有一个数据库里面有activiti的这些表了,它检索的时候全库检索查到它了,所以flowable不去建表了,但是我们指定的这个schema里卖弄还是空的,所以它报了找不到表。解决方法:mysql的链接上加上参数如下,让本schema成为默认的schema。...

JavaPub 6025

ReCogDrive:自动驾驶感知-认知融合新范式

自动驾驶系统正从‘感知→预测→规划’的流水线模式,迈向具备因果推理与语义理解能力的感知-认知融合架构。其核心在于打破模块间语义断层,通过空间-语义联合嵌入、反事实推理头和认知唤醒机制,在单帧内实现目标检测、行为预测、意图建模与可行驶区域生成的统一建模。该技术显著提升对‘鬼探头’等长尾场景的响应鲁棒性与实时性,同时降低计算功耗,为L3级功能安全落地提供轻量、可解释、可调试的新路径。ReCogDrive正是这一演进方向的代表性实践。

386

4.6 知识库使用指南:如何让AI Agent拥有专业知识

本文介绍了如何为AI Agent构建和使用知识库。知识库的作用是为Agent提供专业知识,包含文档、数据和规则,可用于专业问答和知识检索。使用方法包括创建知识库(上传文档)、向量化处理、知识检索以及在Agent中的应用。核心要点是理解知识库的价值和使用流程。文章还提出了构建方法、检索优化和应用实践等思考题,建议准备高质量数据、优化检索效果并持续更新知识库。下节将介绍用LangGraph构建复杂AI应用。

yonggeit的博客 3013

SH9认知自指场的数学建模与递归对抗算法在认知行为疗法中的应用研究(世毫九实验室原创研究)

本研究为认知行为疗法提供了严格的数学基础,并为人工智能辅助精神健康治疗开辟了新的技术路径。定理3.1(算法收敛性) 设认知流形\mathcal{M}为Banach完备赋范线性空间,递归对抗算子\hat{R}_{\text{int}}: \mathcal{M} \to \mathcal{M}为满足Lipschitz常数k \in (0,1)的严格压缩映射。这种现象在正常认知中表现为元认知能力,即"对思考的思考"或"对认知的认知",而在病理状态下则演化为有害的反刍思维,成为抑郁、焦虑等精神疾病的核心维持机制。

shardylab.blog.youkuaiyun.com 443

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

招聘即建模:用认知多样性防控AI偏见

AI偏见本质不是算法缺陷,而是技术团队认知结构的同质化投射。当招聘标准过度聚焦名校背景、LeetCode排名与主流技术栈,实则在系统性过滤地域实践、跨学科翻译、非标叙事和失败经验等关键认知坐标——这些恰是识别数据偏差、校准模型公平性、适配真实场景的底层能力。多元化招聘并非追求统计平衡,而是构建可验证的‘认知冗余’,使团队天然具备对边缘用户、低资源环境、文化语境差异的敏感度与解决力。本文聚焦技术负责人与HRBP,提供从JD重写、反向面试到认知仪表盘落地的六步方法论,将招聘转化为AI偏见防控的第一道主动防御系统

dianan0938的博客 432

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

学习不是接收信息,而是重建认知的操作系统

学习本质上是大脑神经回路的动态建构过程,而非静态知识搬运。其核心原理在于前额叶与海马体协同完成语义整合与突触强化,技术价值体现在将短期工作记忆转化为可调用的长期能力。典型应用场景覆盖K12教育、职业培训、AI工程师进阶及跨领域知识迁移。区别于泛泛而谈的‘换角度’建议,本文聚焦‘建构端视角’切换——即从被动接收转向主动淘汰、定位失效、感官锚定与制造啊哈时刻,真正激活认知神经科学所验证的学习底层机制。

chuji3953的博客 343

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: Java 高并发之设计模式
下一篇: Spring Boot 最核心的 25 个注解,都是干货!
Java奥利给
博客等级 码龄6年 150粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值