C++ 八进制到十进制的转换(调试)
因此,该代码旨在将十进制数转换为八进制数,我重载了运算符 想象一下C++ 八进制到十进制的转换(调试),c++,debugging,C++,Debugging,因此,该代码旨在将十进制数转换为八进制数,我重载了运算符 想象一下x是9。你得到9%10=9+8^0=9+1=10 我猜那不是你想要的。您可能需要11,但实际上应该以字符串形式返回值 问题是一次处理10个可能的值(0-9),而实际处理的值不能超过8个。理想情况下,每次迭代都要将x移位3位,这样就可以始终表示正在处理的值 x&7将为您提供前3位的值,然后您可以将x移位3x>>3以准备接下来要读取的3位 以下是一些让您开始学习的内容: int main() { int x = 44;
x
是9。你得到9%10=9+8^0=9+1=10
我猜那不是你想要的。您可能需要11,但实际上应该以字符串形式返回值
问题是一次处理10个可能的值(0-9),而实际处理的值不能超过8个。理想情况下,每次迭代都要将x移位3位,这样就可以始终表示正在处理的值
x&7
将为您提供前3位的值,然后您可以将x移位3x>>3
以准备接下来要读取的3位
以下是一些让您开始学习的内容:
int main() {
int x = 44;
while(x > 0) {
auto v = x&7;
cout<<v<<endl;
x=x>>3;
}
}
intmain(){
int x=44;
而(x>0){
自动v=x&7;
cout八进制和十进制是整数值的外部表示形式。在内部,值只是一个值;它不是八进制,也不是十进制,也不是红色。将八进制输入转换为整数值意味着将文本输入转换为内部值;将值转换为八进制意味着生成一个表示内部值的文本字符串。十进制也是如此。因此,当您的任务是将八进制转换为十进制时,您以文本字符串开始,以文本字符串结束,通常转换为中间表示法中的整数值。因此,八进制-->整数-->十进制,实现为文本-->整数-->text.1如果函数不返回值,您应该收到一个编译器警告。2您希望输出什么?整数是整数。八进制、十六进制、二进制和十进制是文本表示形式。您应该检查如何在这些表示形式中输出或输入数字
sum+=(x%10)+pow(8,i);
int main() {
int x = 44;
while(x > 0) {
auto v = x&7;
cout<<v<<endl;
x=x>>3;
}
}