为什么Xor-ing两个“ char”阵列显示垃圾位
Why is xor-ing two `char` arrays showing garbage bits?
我有两个char阵列A和B。我想在这两个数组上执行位XOR。但是输出显示垃圾值。我要去哪里?
我尝试在 char
中输入输出,因为 array A
和 array B
在 ASCII
中包含 0 and 1
。但是它不起作用。
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
char A[4] = {0,1,1,0};
char B[4] = {1,1,1,0};
char XOR[4];
cout<< " PRINTING "<<endl;
for(int i =0; i<4; i++)
{
XOR[i] = (char)(A[i]^B[i]);
cout<<(char)XOR[i];
}
cout<<endl;
}
预期输出为1000,但我得到的输出是垃圾。
char
的流operation将数据视为 targue ,而不是数字。如果您想将它们打印为数字,则必须将它们施放到一个数字以进行打印:
cout<< static_cast<int>(XOR[i]);
一种解决方案是使用整数阵列使其按照您的要求工作。char是"字母"的类型,而不是数字。
这是一个可能的解决方案:
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
int A[4] = {0,1,1,0};
int B[4] = {1,1,1,0};
int XOR[4];
cout << " PRINTING "<< endl;
for(int i=0; i<4; i++)
{
XOR[i] = A[i]^B[i];
cout<<XOR[i];
}
cout<<endl;
}
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- OpenMP阵列性能较差
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 为什么以下代码在阵列中显示上个月的最后一个月,而不是显示降雨量最高和最低降雨量的月份
- 将25个甚至整数存储到一个名为intlist的整数阵列中,然后在屏幕上显示数组,并在屏幕上显示名为fivintegers
- 为什么Xor-ing两个“ char”阵列显示垃圾位
- char阵列使用新的实例化后显示垃圾
- OpenGL:从数据阵列生成2D纹理以显示在四边形上
- 显示阵列排列
- 从队列中显示2D阵列后程序崩溃
- 将我的阵列移动到 Mat 并使用打开的 CV 显示图像
- 尝试修改和显示 2D 阵列时出错
- 如何显示非对角线二维阵列元素
- 如何不仅要求动态2D阵列的行数和列数,还要求以表格格式显示
- Arduino(C/C++)代码在LCD上显示阵列的内容
- 2D 阵列循环显示
- 使用二维阵列在地图/栅格上显示坐标