标签: negative-integer

无符号长长斐波那契数为负数?

我写了一个简单的Fibonacci序列生成器,看起来像:

#include <iostream>

void print(int c, int r) {
    std::cout << c << "\t\t" << r << std::endl;
}

int main() {
    unsigned long long int a = 0, b = 1, c = 1;
    for (int r = 1; r <= 1e3; r += 1) {
        print(c, r);
        a = b;
        b = c;
        c = a + b;
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,当r价值达到40左右时,奇怪的事情开始发生.c尽管他是一个unsigned整数,但它的价值在负面和正面之间振荡,当然斐波纳契序列不可能就是这样.

这是怎么回事用unsigned long long整数?

是否c得到过大,即使是long long整数?

c++ unsigned-integer negative-integer

-2
推荐指数
1
解决办法
476
查看次数

标签 统计

c++ ×1

negative-integer ×1

unsigned-integer ×1