二进制数之和(使用C样式字符串)

时间:2018-10-26 00:38:53

标签: c++ binary addition

我正在研究一个程序,以便从命令行输入(argv,argc)中将两个二进制数加在一起。也有理由。

例如:$ a.out 0 1返回1,$ a.out 10 1返回11等。

我正在使用函数进行加法运算,我知道我的问题100%属于我的函数,但是我无法弄清楚自己在做什么错。当我添加两个二进制数字时,它们的最前面都带有一个“ 0”,它不会在总和中显示“ 1”。我还有另一个问题,有些款项是反向打印的,而有些不是。如果有人能指出我在做错事情的正确方向,我将不胜感激。

错误总和的示例:

system_profiler

我的功能:

$a.out 10 10
00      // should be "100"
$a.out 11 11
01      // should be "110"
$a.out 100 100
000     // should be "1000"
$a.out 110000 1
100011 // should be "110001"

1 个答案:

答案 0 :(得分:1)

两个原因:第一个原因是您要以相反的顺序存储结果,第二个原因是您没有考虑最后一个进位。如果最后一次求和,则必须在结果后附加另一个'1'