AddBinary

简介: 二进制加法 输入2个字符串,字符串内由0和1组成;计算二者之和,返回字符串 Given two binary strings, return their sum (also a binary string).

二进制加法

输入2个字符串,字符串内由0和1组成;计算二者之和,返回字符串

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

 1 package com.rust.TestString;
 2 
 3 public class AddBinary {
 4     public static String addBinary(String a, String b) {
 5         int alen = a.length() - 1;
 6         int blen = b.length() - 1;
 7         int carry = 0;
 8         String res = "";
 9         while (alen >=0 || blen >= 0 || carry == 1){
10             int delta = (alen < 0)? 0 : a.charAt(alen--) - '0';/* 得到int */
11             int beta = (blen < 0)? 0 : b.charAt(blen--) - '0';
12             res = (char)('0' + delta ^ beta ^ carry) + res;/* 异或处理得到当前位 */
13             carry = (delta + beta + carry) >> 1;/* 移位处理得到进位 */
14         }
15         return res;
16     }
17 
18     public static void main(String args[]){
19         String text = "0101010";
20         String atext =    "111";
21         String btext =    "010";
22         System.out.println(addBinary(atext, text));
23         System.out.println(addBinary(atext, btext));
24         System.out.println(addBinary(btext, text));
25     }
26 }

输出:

0110001
1001
0101100

目录
相关文章
|
监控 关系型数据库 MySQL
轻松入门MySQL:主键设计的智慧,构建高效数据库的三种策略解析(5)
轻松入门MySQL:主键设计的智慧,构建高效数据库的三种策略解析(5)
663 0
|
存储 PyTorch 算法框架/工具
Transformers 4.37 中文文档(二十七)(2)
Transformers 4.37 中文文档(二十七)
215 0
|
算法 安全 数据安全/隐私保护
链接加密的方法有哪些?
【10月更文挑战第6天】链接加密的方法有哪些?
1094 10
|
12月前
|
传感器 Web App开发 编解码
基于51单片机的智能热水器设计
基于51单片机的智能热水器设计
253 0
|
关系型数据库 MySQL Linux
error: Failed dependencies: libncurses.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 libtinfo.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 如何解决?
error: Failed dependencies: libncurses.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 libtinfo.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 如何解决?
1917 3
|
应用服务中间件
解决tomcat控制台出现乱码
解决tomcat控制台出现乱码
473 0
|
数据建模 关系型数据库 MySQL
数据库原理及MySQL应用 | 实体联系模型
ER模型是数据库设计中被广泛用作数据建模的工具,通常用在“自顶向下”的设计方法中,是数据库应用的第一步。
621 2
数据库原理及MySQL应用 | 实体联系模型
|
机器学习/深度学习 自然语言处理 索引
深入了解 Transformers – Part 1: 介绍 Transformer 模型
深入了解 Transformers – Part 1: 介绍 Transformer 模型
1760 1
|
SQL 数据可视化 搜索推荐
通过Quick BI的生态基础能力 睿本云突破企业“看数用数难”瓶颈
在睿本CTO温其术看来,Quick BI产品能力的集成对睿本云来说是一次“升级式”尝试,让客户能够在“看数”“用数”层面告别“时差”时代,跑通即时性“取数-看数-用数”链路。
694 0
通过Quick BI的生态基础能力 睿本云突破企业“看数用数难”瓶颈
|
机器学习/深度学习
DL之CNN:关于CNN(卷积神经网络)经典论文原文(1950~2018)简介总结框架结构图(非常有价值)之持续更新(吐血整理)
DL之CNN:关于CNN(卷积神经网络)经典论文原文(1950~2018)简介总结框架结构图(非常有价值)之持续更新(吐血整理)
DL之CNN:关于CNN(卷积神经网络)经典论文原文(1950~2018)简介总结框架结构图(非常有价值)之持续更新(吐血整理)