| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 920 人关注过本帖
标题:[求助]二进制的加法问题
只看楼主 加入收藏
lscmxl
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-6-12
收藏
 问题点数:0 回复次数:2 
[求助]二进制的加法问题
这只是个子函数(完成二进制加法)程序代码如下:
string qiuhe(string p,string q)
{
string aa,dingyi0,dingyi1,CF;
CF="0";
aa="000000000";
dingyi0="0";dingyi1="1";
for(int k=8;k>=0;k--)
{
if((p[k]+q[k]+CF[0])==2)
{
CF=dingyi1;
aa[k]=dingyi0[0];
}
else if((p[k]+q[k]+CF[0])==1)
{
CF=dingyi0;
aa[k]=dingyi1[0];
}
else if((p[k]+q[k]+CF[0])==0)
{
CF=dingyi0;
aa[k]=dingyi0[0];
}
}
return aa;
}
可是根本无法实现二进制的加法功能,调试时for循环时每个if或else if它都走一遍(还不进入条件内部),理论上是符合情况的走,然后进入,跳出,再进入下一次循环.
我实在是不知道是哪里的问题,故来请教各位.
若有其它好的方法也可以提出来.
请多多指教,谢谢!
搜索更多相关主题的帖子: 二进制 加法 string 
2006-12-23 15:03
netme123
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-7-30
收藏
得分:0 

#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1="0";
string s2="1";
int total=(s1[0]+s2[0]);;
cout<<"s1="<<s1<<endl;
cout<<"s2="<<s2<<endl;
cout<<"s1+s2="<<total<<endl;
return 0;

}
字符“0”和字符“1”同数字0、1 是不一样的。所以if语句起不到作用!
个人看法呵!

2006-12-29 10:31
lscmxl
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-6-12
收藏
得分:0 

我找到问题所在了,它是取字符相对应的ASCII码运算,自然得不到预期结果.

2006-12-31 16:07
快速回复:[求助]二进制的加法问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040499 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved