位运算的问题

女神打Boss 2018-01-26 03:55:03
例如
int a = 1;
int b = 2;
把a b 赋值给1个char c
如下
bit 7-4 a,3-0 b

不知道该怎么写位运算代码,我应该看哪方面的知识
...全文
748 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-02-05
  • 打赏
  • 举报
回复
引用 11 楼 schlafenhamster 的回复:
应该 做成 一个 函数 SetBit(BYTE bit)
http://[url=http://bbs.csdn.net/topics/390150105][/url]
zwfgdlc 2018-01-30
  • 打赏
  • 举报
回复
	typedef union MyUnion
	{
		struct{
			char a : 4;
			char b : 4;
		};
		char c;
	};

	MyUnion x;
	x.a = 0x2;
	x.b = 0x1;
还有种方法,可以用通过union来转换
zgl7903 2018-01-30
  • 打赏
  • 举报
回复
建议补一下 “位域” 的概念
schlafenhamster 2018-01-30
  • 打赏
  • 举报
回复
半字节 叫 nib
worldy 2018-01-29
  • 打赏
  • 举报
回复
引用 楼主 CKRGD 的回复:
例如 int a = 1; int b = 2; 把a b 赋值给1个char c 如下 bit 7-4 a,3-0 b 不知道该怎么写位运算代码,我应该看哪方面的知识
使用位操作: unsigned char c=char(a & 0xF0)+char(b & 0xf); //a 的位7~4 放入c的位7~4,b的位3~0放入c的位3~0
schlafenhamster 2018-01-29
  • 打赏
  • 举报
回复
应该 做成 一个 函数 SetBit(BYTE bit)
csulizhang 2018-01-26
  • 打赏
  • 举报
回复
说错了,是左移
csulizhang 2018-01-26
  • 打赏
  • 举报
回复
赵老师已经给了答案了,不管你是整数1还是字符“1”,右移四位都是0001,同理,2的后四位是0010,凑在一起,结果00010010,就是18,查表18对应的符号就是↕
女神打Boss 2018-01-26
  • 打赏
  • 举报
回复
引用 5 楼 CKRGD 的回复:
[quote=引用 3 楼 zhao4zhong1 的回复:]
c=(((char)a)<<4)|((char)b & 0x0F);
结果不对啊 结果是 1[/quote]对了,我看错了
女神打Boss 2018-01-26
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
c=(((char)a)<<4)|((char)b & 0x0F);
结果不对啊 结果是 1
女神打Boss 2018-01-26
  • 打赏
  • 举报
回复
引用 1 楼 zhangli00 的回复:
没看太懂,你是要把a b分别表示成4位二进制,然后再凑成一个八位二进制,最后得到的数字赋值给字符c?
是这个意思
赵4老师 2018-01-26
  • 打赏
  • 举报
回复
c=(((char)a)<<4)|((char)b & 0x0F);
赵4老师 2018-01-26
  • 打赏
  • 举报
回复
int a=1;
int b=2;
char c;
c=((char)a)<<4)|((char)b & 0x0F);
csulizhang 2018-01-26
  • 打赏
  • 举报
回复
没看太懂,你是要把a b分别表示成4位二进制,然后再凑成一个八位二进制,最后得到的数字赋值给字符c?

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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