首页 > 后端开发 > C++ > 正文

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

PHPz
发布: 2023-09-05 15:21:06
转载
1646人浏览过

使用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

SpeakingPass-打造你的专属雅思口语语料
SpeakingPass-打造你的专属雅思口语语料

使用chatGPT帮你快速备考雅思口语,提升分数

SpeakingPass-打造你的专属雅思口语语料 25
查看详情 SpeakingPass-打造你的专属雅思口语语料

     步骤 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 <string.h>
#include<stdio.h>
main(){
   char str[32],strdp[32];
   int mask,i;
   printf("Enter a binary number:");
   scanf("%s",str);
   strcpy(strdp,str);
   for(i=0;i<strlen(str);i++) /* computing 1's complement */{
      if(str[i]=='1')
         str[i]='0';
      else
         str[i]='1';
   }
   printf("1\'s complement of %s is %s</p><p>",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:11001110
1's complement of 11001110 is 00110001
2's complement of 11001110 is 00110010
登录后复制

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

相关标签:
C语言速学教程(入门到精通)
C语言速学教程(入门到精通)

C语言怎么学习?C语言怎么入门?C语言在哪学?C语言怎么学才快?不用担心,这里为大家提供了C语言速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号