当前位置: 首页 > 知识库问答 >
问题:

为什么我不能表达10次方10

慕凌
2023-03-14

我试图表达10的幂10,但它不起作用,所以我认为问题是数据类型的范围。

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int a, r, n;

    __int64  d;

    cin >> a; //  a=10
    cin >> r; //  r=10
    cin >> n; //  n=10

    d = a * pow (r, n - 1);

    cout << int(d);
}

我的预期答案是10000000000,但运算结果是1410065408

有什么问题?

共有1个答案

贡斌
2023-03-14

您正在尝试将__int64转换为int,它不能保存cout语句中的10000000000等值。

不要混淆__int64(保存8字节数据)和int(保存4字节数据)。只需删除转换int()

 类似资料:
  • 问题内容: 我正在阅读有关Java 8的教程,作者在 其中显示了代码: 然后说 无法从lambda表达式内访问默认方法。以下代码无法编译: 但是他没有解释为什么这是不可能的。我运行了代码,但出现了错误, 不兼容的类型:公式不是功能界面` 那么为什么不可能或错误的含义是什么呢? 该接口满足具有一种抽象方法的功能接口的要求。 问题答案: 这或多或少是范围的问题。从JLS 与出现在匿名类声明中的代码不同

  • 我知道string1将包含一个空字符串。我的问题是为什么像下面这样两次调用nextLine方法会出现错误:

  • 问题内容: 我正在尝试使用CASE表达式创建一个持久化的计算列: MSDN明确表示CASE是确定性的,这里 但是,我得到一个错误: 消息4936,级别16,状态1,行1表’Calendar’中的计算列’PreviousDate’无法保留,因为该列是不确定的。 当然,我可以创建一个标量UDF并将其显式声明为确定性的,但是有没有更简单的方法呢?我已经在获取最新的Service Pack中。谢谢。 问题

  • 问题内容: 如果html文件是本地文件(在我的C驱动器上),则可以使用,但是如果html文件在服务器上并且图像文件是本地文件,则无法使用。这是为什么? 任何可能的解决方法? 问题答案: 如果客户端可以请求本地文件系统文件,然后使用JavaScript找出其中的内容,则将是一个安全漏洞。 解决此问题的唯一方法是在浏览器中构建扩展。Firefox扩展和IE扩展可以访问本地资源。Chrome的限制更为严

  • 问题内容: 我有这个专栏 但是当我插入类似的东西时,我得到了 应该在那里允许有10位数字,对不对? 如何正确执行此操作? 问题答案: Int具有最大值范围: 因此,由于溢出,您将获得最大值。使用bigint代替,它有8个字节,您会没事的。 http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html#integer- types

  • null null 我在/s/chart/img/purple.png中有一个img,我想在“ChartContainer3”中创建,但我不明白当我单击submit时没有发生任何事情,没有创建。那么我如何在“ChartContainer3”中进行创建呢?