一个小程序问题求解

liujinxunhappy08110 2009-07-06 05:21:23
哪位大虾能帮忙写下这个小程序,或者给个解决的大体思路步骤也行,谢谢了
题目如下:

把地址为0x7788的16位端口的第3位和第10位取反
...全文
164 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liao05050075 2009-07-06
  • 打赏
  • 举报
回复
把一个数据的某一位取反只需要把那一位与1异或即可。
于是,把n的第k位取反是n^(1<<k)(k>=0).

ps.你的结帖率:0.00% ,记得要去结贴。
panli9 2009-07-06
  • 打赏
  • 举报
回复
学习了
findcsdn 2009-07-06
  • 打赏
  • 举报
回复


#include <iostream>
#include <bitset>

using namespace std;

void main()
{
bitset<16> A;
A = 0x7788;

cout << A << endl;

A[3] = !A[3];
A[10] = !A[10];

cout << A << endl;

unsigned long B = A.to_ulong();
cout << hex << B <<endl;

}



大概原理是这样的,位数不对自己调整一下。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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