(no subject)
Jan. 31st, 2020 10:53 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I got back to Factorio for a little while yesterday evening. I love the problem solving!
I was lying in bed with Danae designing a control system in my head that would make exactly one of four machines run at a given time based on a variety of incoming binary signals. I finally decided I could have each binary input translated into a value, then I could add those values together on a single control line for the machines. Then the machines could look for a signal value within a range and turn on or off appropriately.
So I'd have to make sure the translated value for each binary input was different enough that ranges couldn't overlap. For example, if I have inputs representing the values 1, 2, and three, the logical state of signals 1 and 2 being on while 3 is off would be equivalent to signals 1 and 2 being off while 3 is on.
I first jumped to using powers of 10, translating incoming signals into 1, 10, 100, etc. Then I wondered what the lowest usable values would be, because it felt more elegant, and because moving up a factor of ten each time would limit the range of the control system if I wanted to add a lot more machines because I'd hit the maximum system value much more quickly. I started adding up numbers in my head and by summing the previous numbers in the set, got 1, 2, 4, 8, 16... And I suddenly giggled and opened my eyes and said to Danae, "I just invented binary!"
I was lying in bed with Danae designing a control system in my head that would make exactly one of four machines run at a given time based on a variety of incoming binary signals. I finally decided I could have each binary input translated into a value, then I could add those values together on a single control line for the machines. Then the machines could look for a signal value within a range and turn on or off appropriately.
So I'd have to make sure the translated value for each binary input was different enough that ranges couldn't overlap. For example, if I have inputs representing the values 1, 2, and three, the logical state of signals 1 and 2 being on while 3 is off would be equivalent to signals 1 and 2 being off while 3 is on.
I first jumped to using powers of 10, translating incoming signals into 1, 10, 100, etc. Then I wondered what the lowest usable values would be, because it felt more elegant, and because moving up a factor of ten each time would limit the range of the control system if I wanted to add a lot more machines because I'd hit the maximum system value much more quickly. I started adding up numbers in my head and by summing the previous numbers in the set, got 1, 2, 4, 8, 16... And I suddenly giggled and opened my eyes and said to Danae, "I just invented binary!"