我正在为家庭作业编写一个程序,它将添加 2 个 8 位二进制数。我将使用数组来存储读取的二进制数。在实际执行“加法”的函数中,它不会执行 for 循环。当我逐步执行时,它显示了循环变量 n 的初始化,然后它直接进入循环结束并退出。这是我的代码:
for ( int n = 7; n < 0 ; n-- )
{
if ( carry == 0 )
{
if ( bin1[n] == 0 )
{
if ( bin2[n] == 0 )
{
sum[n] = 0;
carry = 0;
}
else
{
sum[n] = 1;
carry = 0;
}
}
else
{
if ( bin2[n] == 0 )
{
sum[n] = 1;
carry = 0;
}
else
{
sum[n] = 0;
carry = 1;
}
}
}
else
{
if ( bin1[n] == 0 )
{
if ( bin2[n] == 0 )
{
sum[n] = 1;
carry = 0;
}
else
{
sum[n] = 0;
carry = 1;
}
}
else
{
if ( bin2[n] == 0 )
{
sum[n] = 0;
carry = 1;
}
else
{
sum[n] = 1;
carry = 1;
}
}
}
}
}
我知道这可能不是写这篇文章的最有效方法,所以请避免这些答案。