`
剑锋凛冽
  • 浏览: 75521 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

1/0和1.0/0除零错

 
阅读更多

搞IT的每个人都知道,0是不能作为除数的,这是操作系统在底层就存在一个除零中断,所以绝大多数高级编程语言(至少是我知道的C、C++、Java等)都是不允许除零的。

但是请看下面这两段代码

 

/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 System.out.println(1/0);
	}

 就会产生常见的运行时异常

java.lang.ArithmeticException: / by zero

异常

但是下面的代码

 

/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 System.out.println(1.0/0);
	}

 却没有异常抛出,而是输出Infinity。

为什么?

这是因为Java在处理表达式计算时,默认对整数型0转型成0.0,而浮点数在计算机内是无法绝对精确的表示的,因此这个0.0在计算机内部只是一个接近0的极小浮点值而已,所以很容易的可以想出为什么输出Infinity。

同样的取模运算%也存在这个问题。

这是前两天在温习Java基础知识,看《疯狂Java讲义》时看到的,留作备忘。

同时通过Python语言的实验,发现Python只要是除零都会报错ZeroDivisionError,不论是int 0还是float 0

分享到:
评论

相关推荐

    51单片机C语言编程基础及实例

    } } //给 P3_1 赋值 1,引脚 P3.1 就能输出高电平 VCC //给 P3_1 赋值 0,引脚 P3.1 就能输出低电平 GND //非零表示真,如果为真则执行下面循环体的语句 //void 表示没有输入参数,也没有函数返值,这入单片机运行...

    注塑件检验标准1.0.doc

    《注塑件检验标准1.0》是一份详细的制造企业对于注塑件质量控制的规范文档,旨在确保产品外观和功能符合生产要求和客户期望。该标准主要包含以下几个方面: 一、抽样计划与标准 根据MIL-STD-105EII抽样计划表(国家...

    一个能够实现变量赋值和表达式计算的四则乘方括号运算计算器

    本程序输出时会将整数相除产生的浮点数自动进行类型转换成浮点数,也会将浮点数运算得到的整数自动类型转换成整数,也就是说1/2=0.50,2.0/1.0=2(c++的自动取整真的很蠢) c/c++为了避免与函数冲突,不允许a(b+c),...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    // 你定义的carale元素错了,让我们更正它 $myphonebook["carole"] => "4522" // 我还没有告诉你怎样使用数组的相似支持方式吗?让我们看一看 echo "$myphonebook[0]"; // sbabu echo "$myphonebook...

    五菱车代码解释图PPT教案.pptx

    \n - VSN码由多个部分组成,如D903 JT 5 53 H C80 1,其中D903可能代表车型种类,JT可能是发动机代码,5表示5挡变速器,53可能代表特定的颜色代码,H可能代表空调配置,C80和1则可能是批次号和识别码。\n\n3. **VIN...

    C语言考试重点(考前必看-吃透必过).doc

    1.0在C语言中可写成1.0.1在C语言中可以写成.1。 * 实型数据的合法形式:a、2.333e-1就是合法的,且数据是2.333×10-1。b、考试口诀:e前e后必有数,e后必为整数。 七、运算符 * 算术表达式:+,-,*,/,%。 * ...

    传感器题库及答案.doc

    1. **绝对误差计算**:标准表的指示值为 100KPa,甲表读数为 101.0KPa,乙表读数为 99.5KPa,因此甲表的绝对误差为 \(1.0KPa\),乙表的绝对误差为 \(-0.5KPa\)。选项 A 正确。 2. **误差类型**:随机误差不属于按...

    蓝桥杯试题 算法训练 统计正负数 C/C++

    时间限制:1.0s 内存限制:256.0MB 问题描述  在一维数组中分类统计正数和负数的个数。正数的个数存入变量C1中,负数个数存入变量C2中.注意这是一个程序补充的题目,你只需要补充所缺少的部分。 输入格式  无 输出...

    整理后java开发全套达内学习笔记(含练习)

    char 16bit, 0~2^16-1 (2^16=6万6) byte 8bit, -2^7~2^7-1 (2^7=128; 注意:两个 byte 数相加,变 int 型) short 16bit, -2^15~2^15-1 (2^15=32768) int 32bit, -2^31~2^31-1 (2147483648,20亿,10位有效数字) ...

    《中国金融集成电路(IC)卡规范(3.0)》PBOC3.0

     授权金额为0的处理方式:如果授权金额为零,除非终端支付qPBOC扩展应用,具有联机能力的终端应在终端交易属性字节2的第8位表示要求联机应用密文;如果授权金额为零,除非终端支付qPBOC扩展应用,仅支持脱机的终端应...

    测试培训教材

    (1) 测试进入和退出标准。 (2) 协作流程。 (3) 缺陷跟踪管理流程。 (4) 工具平台的引入。 目前主流测试管理平台与缺陷跟踪工具: 3、QC(Quality Center)介绍 QC标准测试管理流程 QC支持的应用...

    C#微软培训资料

    <<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 编程语言 程语言编程语言 程语言 C#.4 1.1 Microsoft...

Global site tag (gtag.js) - Google Analytics