想用c语言编一个原码转化为反码补码的程序,现在在考虑如何把1变成0,0变成1,这个怎么实现呢?求解答

RT只需要一个算法,谢谢大家... RT
只需要一个算法,谢谢大家
展开
 我来答
zhangchi5
2012-10-28 · TA获得超过305个赞
知道答主
回答量:47
采纳率:0%
帮助的人:47.1万
展开全部
i=1-i;
(当i=1时,1-i=0;当i=0时,1-i=1)

你的问题是这个意思么?
更多追问追答
追问
举个例子,例如1010我要变成0101
追答
int n;
int k=0,p=1;
(n为2进制,n=1010)

while(n>0)
{
k=k+(1-n%10)*p;
p=p*10;
}

另外如果要使用字符串:
char s[100]="1010";
int n;(为s的位数)
int i;
for(i=0;i<n;i++)
{
s[i]=1-(s[i]-'0')+'0'
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1154979487q
2012-10-28
知道答主
回答量:33
采纳率:0%
帮助的人:31.1万
展开全部
你输入的是整型呢,还是字符串呢?
如果是整型,不会出现0101的,那么只能以字符串形式进行处理了。
字符串数组处理,if else就可以解决了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
希望村村民
2012-10-28 · TA获得超过1589个赞
知道小有建树答主
回答量:1187
采纳率:100%
帮助的人:956万
展开全部
用位运算异或^
更多追问追答
追问
我是新手,可以详细点吗
追答
1^1=0
0^1=1

1010^1111=0101
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式