首页 > 其他分享 >67. 二进制求和c

67. 二进制求和c

时间:2024-03-21 20:23:38浏览次数:27  
标签:head return 二进制 求和 int 67

int max(int i,int j){
    if(i>j) return i;
    return j;
}

void reverse(char* s,int head,int tail){
    while(head<=tail){
        char c=s[head];
        s[head]=s[tail];
        s[tail]=c;
        head++;
        tail--;
    }
}

char* addBinary(char* a, char* b) {
    int na=strlen(a),nb=strlen(b);
    int n=max(na,nb);
    reverse(a,0,na-1);
    reverse(b,0,nb-1);
    char* array=(char*)malloc(sizeof(char)*(n+4));
    int pre=0,index=0;
    while(index<n){
        int x=0;
        int y=0;
        if(index<na) x=a[index]-'0';
        if(index<nb) y=b[index]-'0';
        char t=(x+y+pre)%2+'0';
        array[index++]=t;
        pre=(x+y+pre)/2;
    }
    if(pre==1) array[index++]='1';
    array[index]=0;
    reverse(array,0,index-1);
    return array;
}

 

标签:head,return,二进制,求和,int,67
From: https://www.cnblogs.com/llllmz/p/18088173

相关文章

  • SRIO(Serial RapidIO)PCS层 64B/67B编码介绍(二)
     64b/67b传输码字    PCS使用的64b/67b传输码将64位数据块和/或控制信息编码为67位码字,用于传输,并在接收时反转过程。码字有两种类型:“数据”码字和“控制”码字。数据码字编码64位的数据。控制码字编码64位的控制信息或数据和控制信息的某种组合。码字格式  ......
  • 基于java+springboot+vue实现的电影院选票系统(文末源码+Lw+ppt)23-467
    摘要时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,电影院选票系统当然不能排除在外。电影院选票系统是在实际应用和软件工程的开发原理之上,运用java语言,前台Vue框架以及后台SpringBoot框架进行开发。首先要进行需求分析,分析出电......
  • 代码随想录算法训练营第五十二天 | 718. 最长重复子数组 ,674. 最长连续递增序列,300.最
    300.最长递增子序列 已解答中等 相关标签相关企业 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] ......
  • wasm 学习笔记,写个求和demo
    最近由于工作内容需要,正好学习了一下wasm(WebAssembly的缩写)。下面通过一个例子说明如何使用:c++写的方法打包成wasm文件后,js如何调用里面方法:要将C++写好的方法打包成wasm文件,并在JavaScript中调用其中的方法,可以按照以下步骤进行:首先,使用Emscripten工具链将C++代......
  • Cannot connect to already running IDE instance. Exception: Process 6,367 is stil
    当IntelliJIDEA显示“CannotconnecttoalreadyrunningIDEinstance.Exception:Process6,367isstillrunning”这个错误消息时,意味着它试图连接到一个已经在运行中的实例,但因为某些原因,这个操作失败了。这通常发生在IDEA无法正常关闭或在后台无法正确管理其进程......
  • 巧用Array.prototype.keys()求和
    今天复习基础知识无意中在MDN上找到Array.prototype.keys()一个有意思的用法,在非数组对象上使用keys(),使用call读取this上的length属性,然后生成0~length-1的索引,并且不会实际访问,代码如下:1functionsum(num=0){2constarrayLike={3length:num+14......
  • Java 编程实例:相加数字、计算单词数、字符串反转、元素求和、矩形面积及奇偶判断
    Java如何相加两个数字相加两个数字示例intx=5;inty=6;intsum=x+y;System.out.println(sum);//打印x+y的和输出11解释首先,声明两个int类型的变量x和y,并分别赋值为5和6。然后,使用+运算符将x和y相加,并将结果赋给变量sum。最后,使用Sy......
  • 二进制与十进制转换
    目录1、 正整数转成二进制2、 负整数转换成二进制3、 小数转换为二进制的方法4、 整数二进制转换为十进制5、若二进制补足位数后首位为1时,就需要先取反再换算6、将有小数的二进制转换为十进制时转成二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二......
  • 数据库中利用二进制实现多个布尔属性的增删改查
    需求背景业务场景中经常需要一些布尔型的属性来标记数据状态,如果每个属性值都新增一个数据库字段来保存会造成空间上的浪费,在工作中进行建模设计时难免会想到用二进制来节省空间,以整形32位为例,去除最高位的符号位总共可以用来保存31个布尔属性值。实现细节为方便讲解,这里......
  • 美国科技行业今年裁员超 5 万人;宁德时代一年净赚超 440 亿丨 RTE 开发者日报 Vol.167
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观......