请教两个16进制数求异或的问题

李小然 2013-03-17 02:22:53
问题:输入两个16进制数
输出两个数做异或的结果

疑惑:
1.求异或是否要先转换为二进制然后再求?
2.这个问题是否必须 先将16进制转换为2进制 然后求异或 最后再将二进制结果转换为16进制?
3.C++有没有直接将16进制转换为2进制的函数?如果没有,有什么简单的方法?2进制转换为16进制呢?

十分期望大家的帮助!
O(∩_∩)O谢谢
...全文
647 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
三思小新 2013-04-06
  • 打赏
  • 举报
回复
sorry,理解错了。
三思小新 2013-04-06
  • 打赏
  • 举报
回复
楼上,用数组啊,

int x[100]; 
int y[100];
int z[100];
for(int i=0;i<100;++i)
    z[i]=x[i]^y[i];
李小然 2013-03-17
  • 打赏
  • 举报
回复
引用 6 楼 HayYoung 的回复:
引用 3 楼 lixiaoran__ 的回复:引用 1 楼 HayYoung 的回复:C/C++ code?12345678910#include <iostream>#include <ios> int main(){ int x, y; std::cin >> std::hex >> x >> y; std::cout << std::hex << ……
谢谢~ 那如果需要好多数来做异或 是直接 x1 ^ x2 ^ x3 ^ x4 还是需要两个两个运算呢?
HayYoung 2013-03-17
  • 打赏
  • 举报
回复
引用 3 楼 lixiaoran__ 的回复:
引用 1 楼 HayYoung 的回复:C/C++ code?12345678910#include <iostream>#include <ios> int main(){ int x, y; std::cin >> std::hex >> x >> y; std::cout << std::hex << (x ^ y) << std::endl; ……

结果不会有问题的。
mujiok2003 2013-03-17
  • 打赏
  • 举报
回复
计算机只认识2进制,其他都是给人看的。
lin5161678 2013-03-17
  • 打赏
  • 举报
回复
异或 有内置运算符 不用你操心吧 int i,j; scanf("%i%i", &i, &j); printf("%d", i^j);
李小然 2013-03-17
  • 打赏
  • 举报
回复
引用 1 楼 HayYoung 的回复:
C/C++ code?12345678910#include <iostream>#include <ios> int main(){ int x, y; std::cin >> std::hex >> x >> y; std::cout << std::hex << (x ^ y) << std::endl; return 0;} 这样就行……
需要这个数存起来 int answer = x ^ y; 就行? 不用转换为二进制的然后再做异或吗? 为什么我这样做了 结果有问题....
mujiok2003 2013-03-17
  • 打赏
  • 举报
回复
done
c = a ^ b; 
HayYoung 2013-03-17
  • 打赏
  • 举报
回复
#include <iostream>
#include <ios>

int main()
{
	int x, y;
	std::cin >> std::hex >> x >> y;
	std::cout << std::hex << (x ^ y) << std::endl;
	return 0;
}
这样就行了。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧