使用C语言找到给定二进制数的2的补码

使用c语言找到给定二进制数的2的补码

考虑下面给出的示例 –

示例

输入如下:

输入二进制数:10010001

输出如下:

立即学习“C语言免费学习笔记(深入)”;

1 对 10010001 的补码是 01101110

2 对 10010001 的补码是 01101111

算法

参考一种算法来查找给定二进制数的 2’c 补数。

第 1 步 – 开始。

第 2 步 – 阅读运行时的二进制数。

第 3 步 – 将二进制数复制到 strdp。

第 4 步 – len: = strlen(str)

第 5 步 – 对于i = 0 到 len-1 执行

     步骤 5.1 – 如果 str[i] == ‘1’ 则

        步骤 5.1.1 – str[i] == ‘0’

     步骤 5.2 – 否则

        步骤 5.2.1 – str[i] == ‘1’

     步骤 5.3 – i: = i+1

     步骤 5.3 – i: = i+1

p>

第 6 步 – 掩码:= 1

第 7 步 – 对于 i: = len-1 到 0 执行

     步骤 7.1 – 如果掩码 == 1 则 p>

        步骤 7.1.1 − 如果 str[i] == ‘1’ 则

           步骤 7.1.1.1 − str[i]: = ‘0’

           步骤7.1.1.2 − mask: = 1

     步骤 7.1.2 − else

        步骤 7.1.2.1 − str[i]: = ‘1’

        步骤7.1.2.2 – 掩码:= 0

     步骤 7.1.3 – 结束 if

     步骤 7.2 – 结束 if

步骤 8 – 打印 2 的补码。

第 9 步 – 停止。

程序

以下是 C 程序,用于查找给定二进制数的 2’c 补码

 现场演示

#include #includemain(){   char str[32],strdp[32];   int mask,i;   printf("Enter a binary number:");   scanf("%s",str);   strcpy(strdp,str);   for(i=0;i

",strdp,str);   mask=1;   for(i=strlen(str)-1;i>=0;i--){      if(mask==1){         if(str[i]=='1'){            str[i]='0';            mask=1;         }         else{            str[i]='1';            mask=0;         }      }   }   printf("2's complement of %s is %s",strdp,str);}

登录后复制

输出

当执行上述程序时,会产生以下结果 –

Enter a binary number:110011101's complement of 11001110 is 001100012's complement of 11001110 is 00110010

登录后复制

以上就是使用C语言找到给定二进制数的2的补码的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2583680.html

(0)
上一篇 2025年3月6日 14:37:41
下一篇 2025年3月3日 18:08:25

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论