算法导论学习2.1-4 二进制加法

原创 2012年03月27日 15:30:10
public class Binary_Plus {
	public static void main(String[] args)
	{
		int[] a = {0,1,0};
		int[] b = {0,1,0};
		int[] c = new int[a.length + 1];
		plus(a,b,c);
		for(int i = 0; i < c.length; i ++)
		{
			System.out.print(c[i] + " ");
		}
		
	}
	
	static void plus(int[] a, int[] b, int[] c)
	{
		int ia, ib, k = 0;
		ia = a.length - 1;
		ib = b.length - 1;
		for(; ia >= 0; ia--,ib--)
		{
			k = a[ia] + b[ib] + k; 
//			if(k==2)
//			{
//				c[ia + 1] = 0;
//				k = 1;
//			}
//			else if(k ==3)
//			{
//				c[ia + 1] = 1;
//				k = 1;
//			}
//			else if(k == 1)
//			{
//				c[ia + 1] = k;
//				k = 0;
//			}
//			else
//			{
//				c[ia + 1] = k;
//			}
			
			
			switch(k)
			{
			case 1 :
				c[ia + 1] = k; k = 0; break;
			case 2 :
				c[ia + 1] = 0; k = 1; break;
			case 3 :
				c[ia + 1] = 1; k = 1; break;
			default :
				c[ia + 1] = k;
			}			
		}
		c[ia + 1] = k;
	}	
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

算法导论2.1-4——n个二进制数相加

输入:两个n位二进制数a[N],b[N]。 输出:将两个二进制数之和存到c[N+1]中,输出c[N+1]。 代码: #include using namespace std; int main() ...

算法导论2.1-4

题目 有两个各存放在数组A和B中的n位二进制整数,考虑他们的相加问题。(翻译的够烂)两个整数的和存放在有n+1个元素的数组C中,请给出这个问题的形式化描述,并给出伪代码。 分析 考虑两个1...

《算法导论》练习题2.1-4————二进制整数相加

题目:          考虑把两个n位

算法导论 2.1-4

题目 有两个各存放在数组A和B中的n位二进制整数,考虑他们的相加问题。(翻译的够烂)两个整数的和存放在有n+1个元素的数组C中,请给出这个问题的形式化描述,并给出伪代码。 分析 考虑两个1位二进制...

《算法导论》学习笔记(4)——红黑树(c++语言实现)

这是c++实现的红黑树,主要思路跟

《算法导论》学习笔记(4)——红黑树(c语言实现)

#include #include typedef int EleType; typedef enum Color //颜色属性:红、黑 { RED = 0, BLACK = 1 } Co...

MIT算法导论学习笔记-Lecture4 分治法(续)

第四讲:分治法(续) 4.1 快速排序(Quicksort)

算法导论学习笔记(4)——利用链接法实现哈希表

常用的解决哈希冲突的方法有两种: 一、开放定址法:开放定址法是一类以发生冲突的哈希地址为自变量,通过某种哈希冲突函数得到一个新的空闲地址的方法。 在开放定址法中常用的有线性探查法和平法探查法;线性...

《算法导论》学习笔记(4)——红黑树(c语言实现)

根据上一篇博客: 《算法导论》学习笔记(4)——红黑树

《算法导论》学习总结——第二部分4计数排序

首先,我们将比较排序抽象的视为决策树,一颗决策树是满二叉树(in fact,显然不是,因为只能保证除叶子节点外的每个节点都有2个子节点,但是没法保证所有叶子节点都在最后一层,所以没法达到满的状态,这点...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)