Vinnaren i pepparkakshustävlingen!
2018-03-28, 17:29
  #1
Medlem
Edit: Tror jag kommit på hur det funkar nu.

Först lite info:
Bit skift är en operation som innebär att man gör om talet till bas 2 och därefter skiftar alla siffror till höger eller vänster. Eg 5 skiftat till vänster blir 10 (0101 blir 1010).
(2^31-1)+1 = -(2^31) och vice versa (integer overflow).

Nu till själva problemet:
Bild: https://vgy.me/odn59R.png
Detta är en 3*5 display som kan visa siffrorna 0-9. 11 olika interna variabler (0-A) styr vilka pixlar som ska tändas (den lilla boxen till höger i bilden). Pixeln tänds om det associerade värdet är < 0.

En extern signal med värdet 0-9 adderas till A i bilden och bitskiftar därefter alla variabler A steg till vänster (ett minne kommer ihåg ursprungsvärdet så nästa siffra inte förstörs).

Jag kan inte på egen hand lista ut matematiken bakom varför talen ska vara vad de är (Helt enkelt det binära talet motsvarande kolumnen åtföljt av 0or).
__________________
Senast redigerad av Hedning1390 2018-03-28 kl. 18:20.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback