Vinnaren i pepparkakshustävlingen!
2012-02-11, 14:59
  #1
Medlem
Jag har gått och klurat på en mattefråga ett tag nu
och jag har ingen aning om hur jag ska lösa den, därför Flashback.

Till frågan: Vid vilken siffra blir det förmånligt att skriva ett tal på binärt vis? dvs när krävs det färre siffror att skriva ett tal på binärt vis än att skriva det på vanligt vis...? Om ens blir förmånligt någonsin?

1=1
2=10
3=11
4=100
Osv...
Citera
2012-02-11, 15:09
  #2
Avstängd
MatteSnilles avatar
du skriver om ifrån basen 10 till basen 2 (binärt)
om ursprungsbasen > än ny basen kan inte mindre siffror användas
Citera
2012-02-11, 15:11
  #3
Medlem
Jag förstår inte riktigt vad du menar?
Citera
2012-02-11, 15:17
  #4
Medlem
Dexicons avatar
Citat:
Ursprungligen postat av TheOneKhaled
Jag har gått och klurat på en mattefråga ett tag nu
och jag har ingen aning om hur jag ska lösa den, därför Flashback.

Till frågan: Vid vilken siffra blir det förmånligt att skriva ett tal på binärt vis? dvs när krävs det färre siffror att skriva ett tal på binärt vis än att skriva det på vanligt vis...? Om ens blir förmånligt någonsin?

1=1
2=10
3=11
4=100
Osv...

Fattar va du menar, men antalet siffror i binära talsystemet kommer öka mycket snabbare än i det decimala
10 = 1010
100 = 1100100
o.s.v.
Citera
2012-02-11, 15:21
  #5
Medlem
Jo jag vet, men samtidigt när man kommer upp på riktigt höga nivåer så blir en siffra till i binär form mycket värd. Sen vet jag inte om den blir mer värd än en vanlig??
Citera
2012-02-11, 15:35
  #6
Medlem
sp3tts avatar
Du behöver ceil(log_2(N)) siffror för att skriva ett tal N i binär form, men ceil(log_10(N)) siffror för att skriva det decimalt. log_2(N) = log(10)/log(2) log_10(N) ~ 3.3 log_10(N). Visst, den tionde binära siffran är värd 512, men den tionde decimala siffran är värd 1 000 000 000.

Ibland kan man i och för sig spara datorminne. Om man behöver 8 ja/nej-flaggor i ett C-program kan man allokera en int för varje, men det blir 8*4 = 32 byte minne. Är man lite smartare kan man använda en char istället, men det blir ändå 8 byte. Den lösning som kräver minst minne är att låta varje bit i en char vara en flagga och sen använda bitvis AND för att plocka ut flaggorna. Då krävs bara en char alltså en byte minne. Men det här beror bara på hur våra datorer är uppbyggda, matematiskt krävs det alltid fler binära än decimala siffror för att representera ett tal.
__________________
Senast redigerad av sp3tt 2012-02-11 kl. 15:40.
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