求两个二进制数左对齐按位异或的最快算法

例:数一:101100100数二:11001001异或:011110110

在两个二进制数中长度最短的一个添加2长度之差的0的个数,然后2二进制数进行异或运算,即可得到结果,速度也快
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-07
/*试试这段程序,C语言的*/#include <stdio.h>
#include <string.h>int main(void)
{ int i = 0;
char a[100];
char b[100];
char c[100]; memset( a, 0,sizeof(a));
memset( b, 0,sizeof(b));
memset( c, 0,sizeof(c));

gets(a);
gets(b); while(a[i]!='\0' && b[i]!= '\0')
{
if( a[i] == b[i])
{
c[i] = '0';
i++;
}
else
{
c[i] = '1';
i++;
}
} if(a[i]!='\0')
{
while(a[i]!='\0')
{
c[i]=a[i];
i++;
}
}
else
{
while(b[i]!='\0')
{
c[i]=b[i];
i++;
}
} printf("%s\n",c); return 0;
}
第2个回答  2013-07-07

二进制异或运算怎么算
0 异或 1 = 1 1 异或 1 = 0 1 异或 1 = 0 小结运算原则,就是相同得0,不同得1。如果晕逻辑运算,就按真表示为1,,假表示为0,按上述原则进行运算;如果是两个整数,或者两个字符,进行按位异或运算,这先把两个整数或者字符都转换为二进制形式,然后按低位对齐,,再按上述原则进行竖式...

计算机异或运算怎么算
1、如果两个二进制位相同,则异或结果为0。2、如果两个二进制位不同,则异或结果为1。通过对比两个二进制位的值,我们可以得到异或运算的结果。当进行异或运算时,对应位置的两个二进制位进行比较。需要注意的是,如果进行异或运算的两个二进制数的长度不同,我们需要在较短的二进制数高位补0,使得...

二进制异或运算怎么算
二进制异或运算的计算方法如下:在二进制异或运算中,操作规则是不同则变,相同则不变。具体运算时,对应位的两个数字如果相同则结果为0,不同则结果为1。举个例子,假设有两个二进制数:A和B。异或运算的过程就是将这两个数的每一位进行异或操作,结果是由两个输入位的异或操作决定的。换句话说...

异或怎么运算的
异或(XOR)运算是一种二进制逻辑运算,它对两个二进制位进行比较,当且仅当这两个位不相同时,结果才为1;如果两个位相同,则结果为0。具体来说,对于任意两个二进制数A和B,其异或运算的结果C的每一位是这样得到的:对于A和B的对应位,如果A的某一位是0且B的对应位是1,或者A的某一位是1...

二进制异或运算怎么算
二进制异或运算是一种基本的逻辑运算,其规则简单明了:两个相同数值的二进制位异或结果为0,不同数值的二进制位异或结果为1。具体来说:0异或0 = 00异或1 = 11异或0 = 11异或1 = 0异或运算在逻辑中体现为真(1)与假(0)的对立关系:真异或假 = 真,假异或真 = 真,假异或假 = 假,真...

两个二进制数的异或结果是多少?
异或后的结果为两个数化成二进制后不同位的和。举个例子,16(10000)异或15(01111),五位都不同,所以结果为五位的和,即五位要全为一:11111=31。话说这个有什么作用呢?看了下面的例子,我也才明白这个在笔试中的作用。下面代码:int f( int x, int y ){ return ( x&y )+( ( x^y )>...

异或运算怎么算
在计算机内部,所有信息都是以二进制形式表示的,即开\/关状态,对应数字中的0和1。当进行异或操作时,每个位上的数值都要进行独立的比较。如果两个相应位上的数值相同,则结果为0;如果不同,则结果为1。这种特性使得异或运算在某些计算场合下非常有用,比如加密和解密算法中经常需要利用到异或操作的...

设计一个能够比较两个两位无符号的二进制数的电路,怎么做?
一、具体方法 1、输入:两个两位无符号的二进制数,分别表示为A〔1:0〕和B〔1:0〕。2、比较过程:首先,将A和B进行异或运算,得到结果C〔1:0〕。然后,将C与一个两位的掩码〔1:0〕进行与运算,其中掩码的第二位为1,第一位为0。如果结果C的第二位为1,则说明A和B的第二位不同;如果...

两个二进制数异或的结果是什么?即异或后的结果和要求的两个数有什么关 ...
右往左数第二位,|0-1|=1为异或值右往左数第二位。右往左数第三位,|1-0|=1为异或值右往左数第三位。右往左数第四位,|0-1|=1为异或值右往左数第四位。其实只要你理解什么是异或就好做这类题目得多。异或是一个判定是否不同的值。在2进制中,同一位置所对应数值不同,则异或输出的...

二进制或运算怎么算
1 异或 1 = 0 1 异或 1 = 0 小结运算原则,就是相同得0,不同得1。如果晕逻辑运算,就按真表示为1,,假表示为0,按上述原则进行运算;如果是两个整数,或者两个字符,进行按位异或运算,这先把两个整数或者字符都转换为二进制形式,然后按低位对齐,,再按上述原则进行竖式运算。作用 在...

相似回答
大家正在搜