MHB Bit Masking: How to Manipulate Bits in Binary Numbers

  • Thread starter Thread starter gEOdude
  • Start date Start date
  • Tags Tags
    Bit Operations
AI Thread Summary
The discussion revolves around bit masking techniques using the 8-bit binary number "1001 1101." The first task involves turning off the two bits on each side while leaving the middle four bits unchanged, resulting in the output "0001 1100." The correct mask for this operation is "0011 1100," which is applied using the AND operator. The second task requires toggling the middle four bits, with the expected output being "1010 0001." This is achieved using the XOR operator with the mask "0011 1100." A point of confusion arises regarding the description of the bits, with clarification that the two bits on each side refer to the left and right ends of the 8-bit number. The discussion concludes with an acknowledgment of the misunderstanding regarding the bit count.
gEOdude
Messages
25
Reaction score
0
Hey Guys, can i have a hand with this question. I just want to know if what I did was right.

Bit masking has a task. They are used in order to access specific bits in a byte of data.

1) Using the 8-bit binary number “1001 1101”:
Turn off the 2 bits (masking bits to 0) on each side, and then leave the middle 4 alone.The output should be achieved should be "0001 1100”.

2) Using the 8-bit binary number “1001 1101”:
Toggle the values of the middle 4 bits (the opposite of what it currently is), and leave the 2 bits on each side untouched.The output achieved should be"10100001”.
Answer
1) (1001 1101) & (0101 1110) = 0001 1100
2) (1001 1101) ^ (0111 1110) = 1010 0001
 
Technology news on Phys.org
HELPMEHELPME said:
1) Using the 8-bit binary number “1001 1101”:
Turn off the 2 bits (masking bits to 0) on each side, and then leave the middle 4
alone.

HELPMEHELPME said:
Toggle the values of the middle 4 bits (the opposite of what it currently is), and leave the 2 bits on each side untouched.
Why do these quotes talk about the middle 4 bits and the 2 bits on each side, that is, 6 bits in total, when the input number consists of 8 bits?
 
Im not sure, its how my teacher wrote the problem. Is there something wrong with it?
 
HELPMEHELPME said:
Bit masking has a task. They are used in order to access specific bits in a byte of data.

1) Using the 8-bit binary number “1001 1101”:
Turn off the 2 bits (masking bits to 0) on each side, and then leave the middle 4 alone.The output should be achieved should be "0001 1100”.

The mask that masks out 2 bits on each side is [m]0011 1100[/m].
Using this mask we can do:
1001 1101 & [m]0011 1100[/m] = 0001 1100

2) Using the 8-bit binary number “1001 1101”:
Toggle the values of the middle 4 bits (the opposite of what it currently is), and leave the 2 bits on each side untouched.The output achieved should be"10100001”.

Using the same mask:
1001 1101 ^ [m]0011 1100[/m] = 1010 0001
Answer
2) (1001 1101) ^ (0111 1110) = 1010 0001

I'm afraid the xor operator is not evaluated properly here. (Worried)

Evgeny.Makarov said:
Why do these quotes talk about the middle 4 bits and the 2 bits on each side, that is, 6 bits in total, when the input number consists of 8 bits?
HELPMEHELPME said:
Im not sure, its how my teacher wrote the problem. Is there something wrong with it?
No.
2 bits on each side means 2 bits to the left and 2 bits to the right, for 2+4+2=8 bits in total.
 
I like Serena said:
2 bits on each side means 2 bits to the left and 2 bits to the right, for 2+4+2=8 bits in total.
Of course. Sorry about my misunderstanding.
 
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...

Similar threads

Replies
19
Views
3K
Replies
11
Views
2K
Replies
2
Views
11K
Replies
2
Views
13K
Replies
8
Views
2K
Replies
2
Views
2K
Replies
34
Views
21K
Replies
2
Views
2K
Back
Top