gpt4 book ai didi

c++ - c++中八进制数的行为

转载 作者:太空宇宙 更新时间:2023-11-04 14:47:58 25 4
gpt4 key购买 nike

在 C++ 中,如果我们通过控制台 (cin) 输入一个数字并以零开头,它会保留八进制基数。但是一个变量可以包含两个以上的值吗?

例如输入以下值:

    03 => 3 (Octal)    012 => 10 

但是当我们进入

    0180    It give answer in 2 lines when output the variable (cout):    1    80    and 01188 gives    9    88

现在,我知道八进制基数的值从 0 到 7那么这里发生了什么?一个变量是否存储了 2 个以上的值,或者编译器因为我们在输入中输入了 8 个而吓坏了?

我正在使用 Akki 编译器的 turbo C 7。

最佳答案

0180 是一个八进制数,后面跟一个十进制的八十。 01188 是八进制九后跟十进制八十八。任何不是合法八进制的字符都标志着八进制数的结束。任何不合法的十进制字符都标志着十进制数的结束。

后续看来大家对数字和数字表示的区别没有很好的把握。考虑一下您(最有可能)拥有的手指数量。这个数字可以用“十”、“10”、“你有多少根手指”等多种方式来表示。但无论您如何表示,它仍然是相同的数字。

十进制和八进制是用有限数量的不同符号表示无限数量的数值的方法。要在源代码中表示数字或作为计算机程序的输入或输出,必须使用某种表示形式。

理解数字和数字表示之间的区别对于成为一名熟练的程序员至关重要,并且拥有足够的数学知识来轻松地做到这一点至关重要。

关于c++ - c++中八进制数的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34005560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com