美文网首页
字符串的快速比对

字符串的快速比对

作者: 懒生活 | 来源:发表于2020-09-21 22:49 被阅读0次
typedef unsigned long long bit;
bit tobit(char* pchar)
{
    bit ret = 0;
    while (*pchar != 0)
    {
        ret |= bit((*pchar - 'a' + 1));
        ret = ret << 5;
        pchar++;
    }
    return ret;
}

void tochar(bit val, char* pchar)
{
    bit mask = 0x1f;
    int j = 0;
    for (int i = 10; i >= 0; i--)
    {
        bit curmask = mask << 5 * i;
        char secval = (val & curmask) >> 5 * i;
        if (secval == 0)
        {
            continue;
        }
        else
        {
            pchar[j] = secval - 1 + 'a';
            j++;
        }
    }
    pchar[j] = 0;
}

char getchar(bit val, int idx)
{
    int len = getlen(val);
    //idx 0 ==> len_th
    int realidx = len - idx;
    bit mask = 0x1f;
    bit curmask = mask << (realidx-1) * 5;
    char secval = (val & curmask) >> (realidx-1) * 5;
    return (secval - 1 + 'a');
}
bool isOneCharDiff(bit val1, bit val2)
{
    bit temp = val1 ^ val2;
    bit mask = 0x1f;
    int difcnt = 0;
    for (int i = 0; i < 10; i++)
    {
        if ((temp & mask) != 0)
        {
            difcnt++;
        }
        mask = mask << 5;
    }
    if (difcnt == 1)
        return true;
    else
        return false;
}

相关文章

  • 字符串的快速比对

  • Day60-shell编程_while语句

    while 1.while本质上就是循环,只不过while支持条件测试语句 整数比对 字符串比对 正则比对 文件比...

  • 2018-08-09上线版本号的比对

    上线版本号的比对,要求后台返回字符串

  • C代写 CSCE 155E:Homework 5代写留学生asp

    IntroductionC语言,实现基本的字符串操作函数和矩阵计算,包括字符串复制,字符串拼接,字符串比对,计算字...

  • 字符串比对

    procedure TForm1.Button1Click(Sender: TObject); var a,b:s...

  • shell编程(二)

    一、字符串比对 字符串必须使用双引号-n //nozero 字符串长度不为0时为真-z //zero 字符串长度为...

  • 一个实用的管理工具

    一个概念 心理比对:就是聚拢资源在可为之事,快速放下不可为之事的区分的智慧。 “心理比对”可以...

  • 常用比对软件集合

    比对软件来啦@-@,今天给大家分享一下几款小编常用的比对软件。 Bwa适用范围:二代测序数据快速比对到genome...

  • 6-2 心理比对 笔记

    - 【四个收获】 > 1. “心理比对”就是聚拢资源在可为之事,快速放下不可为之事的区分智慧。 > 2. 心理比对...

  • 动态规划(二,kmp算法)

    概述: kmp算法是一种改进的字符串匹配算法.kmp算法的核心思想是利用比对失败的信息,减少模式串与目标串的比对次...

网友评论

      本文标题:字符串的快速比对

      本文链接:https://www.haomeiwen.com/subject/iyzbyktx.html