![](https://lstatic.shangxueba.com/sxbzda/h5/images/m_q_title.png)
下列语句中,能实现将P1OUT的低4位全部取反,高4位保持不变的是()。
A.P1OUT ^= 0xF0;
B.P1OUT ^= 0x0F;
C.P1OUT ^= BIT0+BIT1+BIT2+BIT3;
D.P1OUT ^= BIT0|BIT1|BIT2|BIT3;
![](https://lstatic.shangxueba.com/sxbzda/h5/images/tips_org.png)
A.P1OUT ^= 0xF0;
B.P1OUT ^= 0x0F;
C.P1OUT ^= BIT0+BIT1+BIT2+BIT3;
D.P1OUT ^= BIT0|BIT1|BIT2|BIT3;
第1题
(1)将AX中间8位(作高8位),BX低4位和DX高4位(作低4位)拼成一个新字。
(2)将CX中间8位取反,其余位不变。
(3)将数据段中以BX为偏移地址的连续3单元中的无符号数求和。
(4)将数据段中以BX为偏移地址的连续4单元的内容颠倒过来。
(5)将BX中的4位压缩BCD数用非压缩BCD数形式按序放在AL,BL,CL和DL中。
(6)不用乘法指令实现AL (无符号数)乘以20。
第2题
(1) 1.75 (2) 3.25 (3) 5.62 (4) 9.97
(5) 13.82 (6) 15.06 (7) 19.65 (8) 33.33
第3题
第4题
1.实验目的
①掌握按位运算的概念和方法,学会使用位运算符。
②学会通过位运算实现对某些位的操作。
2.实验内容
编写程序,上机调试并运行。
①取一个整数a从右端开始的4~7位。
程序分析:
先使a右移4位。
设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
将上面二者进行&运算。
理解并使用运算符。
②按位与&。
程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
程序源代码:
#include"stdio.h"
main()
{
int a,b;
a=077;
b=a&3;
printf("\40:The a&b(decimal)is%d\n",b);
b&=7;
printf("\40:The a&b(decimal)is%d\n",b);
}
③学习使用按位或|。
程序分析:0|0=0;0|1=1;1|0=1;1|1=1
程序源代码:
#include"stdio.h"
main()
{
int a,b;
a=077;
b=a|3;
printf("\40:The a|b(decimal)is%d\n",b);
b|=7;
printf("\40:The a|b(decimal)is%d\n",b);
}
④学习使用按位异或,^。
程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
程序源代码:
#include"stdio.h"
main()
{
int a,b;
a=077;
b=a^3;
printf("\40:The a^b(decimal)is%d\n",b);
b^=7;
printf("\40:The a^b(decimal)is%d\n",b);
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!