c++中2/5等于0,怎么办?哪错了?

c++程序运行中,2/5=0,这是为什么?出现了什么问题,小编在这里带大家深度了解下这个问题,怎么解决这个问题。
用提前设置类型,和强制类型转换解决问题。

明确概念

  • 01

    首先大家要明确的一个概念就是: “整数除法的结果是整数,小数部分被截取”

  • 02

    分析“2/5”其结果是0.04,但是因为“整数除法结果是整数,小数部分被截取”所以,计算机运行程序后结果是0。

  • 03

    观察程序代码,a,b都被赋予整型,所以程序运行结果是0。

  • 04

    学习下强制类型转换的语句:static_cast<类型名>(变量名)

  • 05

    在这里给大家普及下 类型转换的一些规则: 1.在进行二元运算的时候,若操作数是longdouble型,则将另一个转换为longdouble型 2.若操作数是double型,则将另一个操作数转换为double型(所以对于问题的解决我们只需要将a,b其中一个转换为double型就行了) 3.若操作数是float型,则将另一个操作数转换为float型。 4.若操作数是long型,则将另一个操作数转换为long型。 5.若操作数是unsignedlong型,则将另一个操作数转换为unsignedlong型。 6.若操作数是unsignedint型,则将另一个操作数转换为unsignedint型。 7.如果不是上述的三种情况,则两个操作数都转换成int型。

  • 06

    这里小编以float型为例,写个程序,验证下: #include<iostream> using namespace std; int main() { int a=2; float b=3.5; cout<<"a+b="<<a+b<<endl; return 0; } 因为 b是float型,所以a自动转换成float型,所以a+b结果也是float型。

解决问题

  • 01

    一种方法就是将a或者b中其中一个直接赋予非整型的类型。 #include<iostream> using namespace std; int main() { int a=2; double b=5.0; cout<<"2/5="<<a/b<<endl; return 0; }

  • 02

    另一种方法就是强制类型转换。强制将整型数据转换成非整型。 当然转化a,b其中任何一个就行了。 代码如下: #include<iostream> using namespace std; int main() { int a=2,b=5; cout<<"2/5="<< static_cast<double>(a)/b<<endl; return 0; }

  • 03

    强制类型转换,可以将int型转化成double型,也可以将double转换成int型。 等等各种数据类型之间的转换。

(0)

相关推荐

  • win10系统提示无法显示此页在高级设置中启用TLS 1.0的解决方法

    现在,大部分交换机都是管理型的,大家只要通过web界面就能够轻松管理它们.不过,部分用户在使用浏览器登陆时,却遇到了“无法显示此页”提示,要求在高级设置中启用TLS 1.0 .TLS1.1和TLS1. ...

  • Excel表格中怎么将数字0显示为横线/减号?

    如图,有时我们在报表中发现,数字0全部显示为横线,怎么设置呢?下面我们就来看看详细的教程. 1.选中要设置格式的单元格区域,单击 [开始] - [数字] 右下角的箭头,打开 [设置单元格格式] 对话框 ...

  • 如何在2016版excel的公式中插入不等于符号?

    相信很多小伙伴在日常办公中都会用到excel,如果我们想要在其中的公式中插入不等于符号该怎么做呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,在excel中打开我们要进行操作的表格,然后 ...

  • win10系统中怎么使用vc6.0编译代码

    vc 6.0一般是在win7等操作系统上使用的,那么怎么才能在win10系统上使用呢?今天就跟大家介绍一下win10系统中怎么使用vc6.0编译代码的具体操作步骤.1. 首先打开电脑上的开始菜单,找到 ...

  • Word2007文档中的约等于号≈怎么打出来

    今天给大家介绍一下Word2007文档中的约等于号≈怎么打出来的具体操作步骤.1. 打开电脑,找到桌面上的Word文档,双击打开.2. 然后在打开的页面,光标定位到插入符号的位置,然后点击上方菜单栏中 ...

  • 如何在Word文档中打出不等于号≠

    我们如果需要在文档中输入不等于号,该在哪里找到呢?今天就跟大家介绍一下如何在Word文档中打出不等于号≠的具体操作步骤.1. 首先打开想要编辑的word文档,如图,在文档的公式中需要添加不等于号:2. ...

  • 如何让excel单元格中数字前面加上0

    在excel应用中特别是制作编号的时候,直接在数字前面加0输入是没有用的,这里给大家介绍两种方法,希望对大家有帮助 操作方法 01 我们要用excel制作一列工号,工号的第一个数字是0,现在在C列做一 ...

  • 腾讯文档中的文档不小心删错了怎么还原

    腾讯文档是一款可用于多人在线编辑的文档,有小伙伴问腾讯文档中的文档不小心删错了怎么还原,下面小编介绍一下.具体如下:1. 打开[腾讯文档]软件,点击左侧的"回收站"选项2. 我们可 ...

  • win10电脑中自带的视频编辑器出错了怎么办

    今天给大家介绍一下win10电脑中自带的视频编辑器出错了的具体解决方法.1.首先打开电脑,进入桌面,点击左下角的开始图标,在打开的菜单中,依次点击视频编辑器---更多---应用设置选项2. 如图,在打 ...