二进制相加
来源:互联网 发布:aspen plus软件参数 编辑:程序博客网 时间:2024/06/03 18:25
Given two binary strings, return their sum (also a binary string).
For example, a = “11” b = “1” Return “100”.
主要处理好进位的问题,PHP实现代码如下:
function BinaryAdd($num1, $num2) { $last_index_1 = strlen($num1) - 1; $last_index_2 = strlen($num2) - 1; // 是否进位 $flag = 0; $binary = ''; while ($last_index_1 >= 0 || $last_index_2 >= 0) { $binary1 = $last_index_1 < 0 ? 0 : $num1[$last_index_1]; $binary2 = $last_index_2 < 0 ? 0 : $num2[$last_index_2]; $sum = $binary1 + $binary2 + $flag; // 判断是否需要进位 和为2或者3时需要进位 switch ($sum) { case 2: $flag = 1; $binary = '0' . $binary; break; case 3: $flag = 1; $binary = '1' . $binary; break; default: $binary = $sum . $binary; $flag = 0; break; } $last_index_1--; $last_index_2--; } // 如果有进位,则首位补1 if ($flag == 1) $binary = '1' . $binary; return $binary;}echo BinaryAdd('11', '1');
阅读全文
0 0
- 二进制相加
- 二进制相加
- hoj10475(二进制大数相加)
- Add Binary 二进制相加
- 大数相加(二进制)
- 实现二进制数相加
- [LeetCode]67 二进制相加
- 二进制字符串相加
- 剑指-二进制相加进位
- Add Binary 二进制相加 @LeetCode
- Leetcode:Add Binary 二进制相加
- leetcode 之 二进制数相加
- 算法导论-二进制数组相加
- LeetCode之二进制字符串相加
- 算法Day5-二进制数相加
- Add Binary 二进制数相加
- 二进制数相加或两个数相加(C++)
- 两个n位二进制数相加
- 高清摄像头MIPI接口与ARM处理器的连接
- C++ algorithm sort自定义排序
- FFmpeg 编译
- 1039. 到底买不买
- 源码分析 There is no getter for property named '*' in 'class java.lang.String
- 二进制相加
- 初入webpack坑,从入门到放弃
- Fiddler 4 模拟 服务端返回 json
- java中indexOf使用
- Android自定义圆角以及向下箭头的ImageView
- Pots
- Linux Route 路由详细解释
- test1
- cuda7.5 和cuda8共存