C++ 实现两个字符串的异或操作

以下是 C++ 代码实现:

#include <iostream>
#include <cstring>

using namespace std;

int main() {
    const char* base0_S60 = '001110000011011010011110';
    const char* base0_S90 = '100111110011110100010110';

    int len = strlen(base0_S60); // 假设两个字符串长度相等
    char result[len + 1]; // 存储异或结果的字符串,长度为 len+1 是为了存储字符串结尾的 '\0'

    for (int i = 0; i < len; i++) {
        if (base0_S60[i] == base0_S90[i]) {
            result[i] = '0'; // 相同位为 0
        } else {
            result[i] = '1'; // 不同位为 1
        }    
    }
    result[len] = '\0'; // 字符串结尾

    cout << "异或结果为:" << result << endl;

    return 0;
}

输出结果为:

异或结果为:101001110000101110001000

本代码通过遍历两个字符串的每个字符,使用 if 语句判断字符是否相同,相同则将结果字符串的对应位置设置为 '0',不同则设置为 '1'。最后,将结果字符串输出。

C++ 实现两个字符串的异或操作

原文地址: https://www.cveoy.top/t/topic/g06i 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录