若要将一个8位二进制数的高4位求反,低4位不变,可以将原数与另一个数进行异或运算,则这个数是多少

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 21:56:11
若要将一个8位二进制数的高4位求反,低4位不变,可以将原数与另一个数进行异或运算,则这个数是多少

若要将一个8位二进制数的高4位求反,低4位不变,可以将原数与另一个数进行异或运算,则这个数是多少
若要将一个8位二进制数的高4位求反,低4位不变,可以将原数与另一个数进行异或运算,则这个数是多少

若要将一个8位二进制数的高4位求反,低4位不变,可以将原数与另一个数进行异或运算,则这个数是多少
楼主,这里可以用异或指令实现这个效果
"异或"运算的规则是 1 XOR 1 = 0,1 XOR 0 = 1,0 XOR 1 = 1,0 XOR 0 = 0.
这里楼主不知道你有没有发现一个规律,就是一个数与1异或,这个数就取反了,但是与0异或,这个数就不变.所以这里我们可以用异或的这个特性来解决这道题
因为这道题是一个8位二进制的操作,所以现在我们假设AL = 55H
汇编代码
MOV AL,55H ;(AL) = 01010101B
高4位取反,低4位不变
因为是高四位取反,所以我们将我们所求的数的高四位置为1; 低四位不变,我们可以将所求数的低四位置0
代码
XOR AL,0F0H ;01010101 XOR 11110000 = 10100101 = A5H = AL
所以,楼主,这道题的答案是0F0H
PS:若有不明白的地方,

若要将一个8位二进制数的高4位求反,低4位不变,可以将原数与另一个数进行异或运算,则这个数是多少 8.设二进制数A是0A101111,若想通过异或运算 A^B使 A的高4位取反,低4位不变,则二进制数B应______. 为什么给一个16位的二进制数除以256就能取它的高8位, 怎么把一个24位的二进制数处理成三个8位的二进制数 将8位二进制数高4全置0则可与十六进制数 相与 若a的二进制为00101101,通过a^b运算使a的高4位取反,低4位不变,则b的二进制值为多少 设二进制数A是0A101111,若想通过异或运算 A^B使 A的高4位取反,低4位不变,则二进制数B应_____问题:1,既然是二进制数,为什么还会有字母A ?2,此题何解? c语言中怎样将两个8位的二进制数合成为一个16位的二进制数? 用BL的低4位和BH高4位组成一个新的数,放到CH中 一个十进制数除256得二进制高八位s=4544P1=s/256; //高8位送P1口 P0=s%256; //低8位送P0口为什么整除256是高八,取余是低八? 当用一个16位的二进制数表示浮点数时,下列方案中第____种最好.A.阶码取4位(含阶符1位),尾数取12位(含数符1位);B.阶码取5位(含阶符1位),尾数取11位(含数符1 位);C.阶码取8位( 一个IPv4的地址是由_____位的二进制数组成的,或者说是由4组 _____位二进制数表示,每一组数的范围是___ 符号数的扩展把一个8位的二进制扩展为一个16位的二进制数.书上说,无符号数,高八位全是0有符号数,扩展的高八位用原来数的符号来扩展,不是全0就是全1我想问的是,既然都说是有符号数了,他 8位二进制数,是指8个二进制数,还是指2的8次方个二进制数 一个字节是用8位二进制数表示的吗?为什么是8? 一个字节是用8位二进制数表示的吗?为什么是8? 用二进制表示72个符号,需要几位二进制!比如72个!号,一个!要4位二进制,所以要72*4位二进制,为什么他们说是2的N次方>72呢 用一片4位超前进位加法器74LS283和必要的门电路设计一个四位二进制数乘以3的电路,