社区
C#
帖子详情
两个字符串比较那种算法比较快问题,如内容
feigmin
2003-09-29 03:42:24
string strA="1100";
string strB="0001";
我想比较这两字符串,并返回strC,条件:strA和StrB中只要某个位置中有一个值是1,那么strC对应位置则为1。如果按我给出的strA和strB应该返回strC="1101".
谢谢
...全文
105
19
打赏
收藏
两个字符串比较那种算法比较快问题,如内容
string strA="1100"; string strB="0001"; 我想比较这两字符串,并返回strC,条件:strA和StrB中只要某个位置中有一个值是1,那么strC对应位置则为1。如果按我给出的strA和strB应该返回strC="1101". 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
竹君子
2003-09-29
打赏
举报
回复
同意!
Reeezak
2003-09-29
打赏
举报
回复
说错了
是或操作
Reeezak
2003-09-29
打赏
举报
回复
诚心的给你一个楼主一个建议:
这样异或操作不是用汇编就用C,多方便阿?
或者你用VC++.NET写一个控件
在CS里面用就是了
Jinniu
2003-09-29
打赏
举报
回复
做一个!!(按位或)就行了。
xixigongzhu
2003-09-29
打赏
举报
回复
出什么错?
qimini
2003-09-29
打赏
举报
回复
xixigongzhu(夕夕公主) ( )的方法最快,位运算
feigmin
2003-09-29
打赏
举报
回复
xixigongzhu(夕夕公主):strC = Convert.ToString(c, 2);要出错,我试过了。
谢谢各位大侠的支持!!最好能转换成二进制处理
Reeezak
2003-09-29
打赏
举报
回复
MOV EAX,strA(strA代表放置strA的内存地址)
MOV EBX,strB(strB代表放置strA的内存地址)
XOR EAX,EBX
MOV strC,EAX(strC代表放置strA的内存地址)
嘻嘻,MASM32,开个玩笑,大家别扔鸡蛋阿
caozping
2003-09-29
打赏
举报
回复
private string Process(string strA,string strB)
{
string strC;
string strD;
if(strA.Length>strB.Length )
{
strC=strA;
strD=strB;
}
else
{
strC=strB;
strD=strA;
}
int i=0;
while(i<strD.Length)
{
if(strD.Substring(i,1)=="1")
{
strC=strC.Insert(i,"1");
strC=strC.Remove(i+1,1);
}
i++;
}
return strC;
}
xixigongzhu
2003-09-29
打赏
举报
回复
int a = Convert.ToInt32(strA, 2);
int b = Convert.ToInt32(strB, 2);
int c = a | b;
strC = Convert.ToString(c, 2);
triout
2003-09-29
打赏
举报
回复
unsigned BinStrToUINT32(string BinStr)
{
unsigned tmp=0;
int strlen=BinStr.length;
char *chBinStr=chBinStr.ToCharArray();//记不起函数名了,自己检查,转换成字符数组
for(int i=0;i<strlen;i++)
{
tmp*=2;
if(chBinStr[i]=='1')
tmp+=1;
}
return tmp;
}
string UINT32ToBinStr(unsigned uData)
{
string tmp="";
unsigned utmp=uData;
for(int i=0;i<32;i++)
{
tmp+=utmp>0x7fffffff?"1":"0";
utmp<<1;
}
return tmp;
}
比较:
StrC=UINT32ToBinStr(BinStrToUINT32(StrA)|BinStrToUINT32(StrB));
呵呵
Bob
2003-09-29
打赏
举报
回复
如果长度没有固定的话,还是老实点:
using System;
using System.Text;
class TestCompareString
{
public static void Main()
{
Console.WriteLine(StringCompare("1101","0101"));
Console.Read();
}
private static string StringCompare(string strA, string strB)
{
StringBuilder strC = new StringBuilder("");
int len = (strA.Length>strB.Length) ? strA.Length : strB.Length;
for(int i=0; i < len; i++)
{
if(strA[i]=='1' || strB[i]=='1')
strC.Append("1");
else
strC.Append("0");
}
return strC.ToString();
}
}
feigmin
2003-09-29
打赏
举报
回复
strA和strB、srtC中只包含0和1。strA和strB、srtC并且长度都一样。
Bob
2003-09-29
打赏
举报
回复
using System;
using System.Text;
class TestCompareString
{
public static void Main()
{
Console.WriteLine(StringCompare("1101","0101"));
Console.Read();
}
private static string StringCompare(string strA, string strB)
{
StringBuilder strC = new StringBuilder("");
int len = (strA.Length>strB.Length) ? strA.Length : strB.Length;
for(int i=0; i < len; i++)
{
if(strA[i]=='1' || strB[i]=='1')
strC.Append("1");
else
strC.Append("0");
}
return strC.ToString();
}
}
triout
2003-09-29
打赏
举报
回复
找找看,好象有一个能把01串转换成数的,然后使用按位或就简单了。
acewang
2003-09-29
打赏
举报
回复
两个字符串的长度是固定的吗?
jjcccc
2003-09-29
打赏
举报
回复
char[] ca=new char[4];
for (int i=0;i<4;i++)
ca[i]=(strA[i]=='1'||strB[i]=='1')?'1':'0';
string strC=new string(ca);
changezhong
2003-09-29
打赏
举报
回复
就做一个循环来比较好了
jjcccc
2003-09-29
打赏
举报
回复
byte a=Convert.ToByte(strA);
byte b=Convert.ToByte(strB);
byte c=a|b;
string strC=c.ToString("X4");
算法
2:判断两个
字符串
内容
是否相同
判断两个
字符串
的
内容
是否相同,指的是两个
字符串
中的字符是否完全一样,顺序可以不同(也可以称之为换位
字符串
)。比如
字符串
1为”abc”,
字符串
2为”cba”,则认为这两个
字符串
内容
是一样的,再比如
字符串
1为”aba...
Java
比较
两个
字符串
的相似度
算法
(Levenshtein Distance)
算法
简介: Levenshtein Distance,又称编辑距离,指的是两个
字符串
之间... *
比较
两个
字符串
的相识度 * 核心
算法
:用一个二维数组记录每个
字符串
是否相同,如果相同记为0,不相同记为1,每行每列相同个数累加 * ...
两个
字符串
比较
求最优
算法
背景如下: 1.Char1是一个由各种字母组成的
字符串
2.Char2是另外一个相对较短的
字符串
...方法1:对于这种操作一种幼稚的做法是轮询第二个
字符串
里的每个字母,看它是否同在第一个
字符串
里。从
算法
上来讲,这需要
java高效
比较
两个
字符串
的相似度
算法
java高效
比较
两个
字符串
的相似度
算法
解决方法: Levenshtein Distance,又称编辑距离,指的是两个
字符串
之间,由一个转换成另一个所需的最少编辑操作次数。 许可的编辑操作包括将一个字符替换成另一个字符,...
Java实现
字符串
相似度
算法
,用于试题相似度,
字符串
相似度,
字符串
比较
等场景
一、莱文斯坦(相似度)
算法
使用Levenshtein(莱文斯坦)编辑距离来实现相似度
算法
所谓Levenshtein距离,是指两个...操作次数越少,说明两个
字符串
距离Levenshtein Distance越小,表示两个
字符串
越相似。 二、具...
C#
110,565
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章