我做了一个将二进制数转换为十进制数的函数,但是如果我对二进制数进行高位,它只会返回 256 ???什么可能导致这种情况?我正在使用 int 变量。任何帮助将非常感激
#include <iostream>
using namespace std;
int FromBin (int n)
{
int increment;
int Result;
increment = 1;
Result = 0;
while(n != 0)
{
if (n % 10 == 1){
Result = Result+increment;
n = n-1;
}
n = n/10;
increment = increment*2;
}
cout<<Result;
}
void ToBin(int n)
{
if (n / 2 != 0) {
ToBin(n / 2);
}
cout<<n % 2;
}
int main()
{
int choice;
int n;
cout<<"Choose a function: …Run Code Online (Sandbox Code Playgroud)