You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the drawline method provided as the solution, it does not handle cases where start_byte != end_byte properly. In end_byte, only the LSB is set.
E.g.
S = BitsScreen()
screen = []
for _ in range(20):
screen.append(int('00000000', base=2))
S.draw_line(screen, 32, 68, 92)
for row in screen:
print(f"{row: 09b}")
results in
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00001111
11111111
11111111
00001000 <---only bit corresponding to x2 = 92 is set
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
I have tried to come up with a solution for this but could not. Could anyone provide the correct solution perhaps?
The text was updated successfully, but these errors were encountered:
I looked back at the first challenge (bits) in bit_manipulation series. I set the last bit to all 1s, then used the method from the clear_bits_index_to_lsb method in the bits challenge.
I have a couple of questions about this.
Setting all bits in a byte is done using int('11111111', base=2). This could just be done by setting it to equal 255. What is the reason to use the much longer way?
Is there some mask that can be used to set all bits from MSB to an index? This would prevent the need to first set all bits then clear the bits to the right of the index.
Using the drawline method provided as the solution, it does not handle cases where
start_byte != end_byte
properly. Inend_byte
, only the LSB is set.E.g.
results in
I have tried to come up with a solution for this but could not. Could anyone provide the correct solution perhaps?
The text was updated successfully, but these errors were encountered: