• 0 Posts
  • 23 Comments
Joined 2 years ago
cake
Cake day: June 22nd, 2023

help-circle



  • It’s interesting to watch this, and while Bernie is slightly left to my values, how come this octogenarian gets it and the rest of the party doesn’t?

    Which party? The Democrats? He’s not part of them since they crushed him and his followers in 2016, preferring to back H.Clinton to a stunning loss against Trump.

    They don’t get it because they are also a party more interested in supporting oligarchs than the working person. They still think that Trump beat them through disinformation, when it was really that they lost because their track record since Carter has been to back big business over the needs of the common people. Clinton and Obama should have been ripping up Regan’s / Bush’s legacy, but they just tweaked it. All Trump did was speak to that, even though he had no intention of doing anything about it.





  • When you’re working with the binary representation of numbers.

    In your code you had three numbers 25, 10 and 5. If we write those number in binary we get:

    • 25: 0b00011001
    • 10: 0b00001010
    • 5: 0b00000101

    (The 0b at the start is just a way of saying “this is binary”)

    When you do a bitwise-or, it’s a bit like adding up but you don’t bother with carrying anything. So let’s do 25 | 10, starting at the right-hand end going bit by bit (bitwise):

    • 0 | 1 = 1
    • 1 | 0 = 1
    • 0 | 0 = 0
    • 1 | 1 = 1
    • 1 | 0 = 1
    • 0 | 0 = 0 for all the rest

    So the result is 0b00011011 which is 27.

    So now you’re asking “when would I ever need to do such a thing?” and the flippant answer is “you’ll know when you need it”.

    You’re looking for more though, I know. Basically computers often put multiple bits of data into bitstreams (long sequences of bits). Think networking and file storage. Constructing these bitstreams is done with bitwise operators like |, &, ^, << and >>. Together they form a different type of maths to what you’re used to.

    These operators work in a very similar way to how +, -, * and / work. They take two numbers and return a third. If we rewrite your code using operators you’re more familiar with…

        if coin == 25 | 10 | 5:  # if coin == 31
            ...
        if coin == 25 + 10 + 5:  # if coin == 40
            ...
    

    …you can see it’s obviously wrong because you’re doing one comparison with the result of the operation (addition or bitwise-or), not three comparisons.