Avatar billede kenneth_breve Nybegynder
10. marts 2007 - 13:03 Der er 6 kommentarer og
1 løsning

Afrunde et binært tal?

Jeg har et 9 bit tal som skal laves om til 8 bit.

Derfor vil jeg gerne have korrekt afrunding af tallet således at så lidt mulig præcision går til spilde når jeg konverterer fra 9 til 8 bit.

Hvordan afrunder man et 9bit tal til 8bit?
Avatar billede inglenook Praktikant
10. marts 2007 - 13:57 #1
drop bit 0 / roter til hoejre
Avatar billede kenneth_breve Nybegynder
10. marts 2007 - 14:12 #2
Det er netop det som min nuværende algortime gør.

Men jeg ville godt have at bit0 også kom til at have indflydelse.

Altså ligesom hvis man afrunder 10.5 = 11

Eller 217 = 220

Her har det mindst betydende ciffer indflydelse på resten af tallet, når tallet konverteres fra 3 betydende cifre til 2 betydende cifre
Avatar billede ebusiness Nybegynder
11. marts 2007 - 00:05 #3
Læg 1 til tallet først, det virker i denne situation ligesom at afrunde opaf.
Avatar billede kenneth_breve Nybegynder
11. marts 2007 - 07:37 #4
Men hvad så hvis tallet skal rundes nedaf?..

Virker det så stadig hvis man lægger 1 til tallet først?
Avatar billede ebusiness Nybegynder
11. marts 2007 - 09:20 #5
Altså, når du skærer en enkelt bit af et binært tal er der to muligheder, du skærer enten et nul eller et ettal væk, når du skærer nullet væk skal det bare forsvinde, når du skærer ettallet væk skal den afrunde opaf. Lægger du et til et tal som ender på nul, så bliver det nul til et ettal, som så bliver skåret væk, og det har dermed ikke haft nogen betydning at du lagde et til. Ender tallet på et så vil du have afrundet opaf ved at lægge et til.
Avatar billede kenneth_breve Nybegynder
11. marts 2007 - 10:30 #6
Det lyder helt korrekt "ebusiness".

Men er det sådan man plejer at gøre det når man skal afrunde fra 9bits til 8bits?..
Avatar billede ebusiness Nybegynder
11. marts 2007 - 11:10 #7
Altså, de fleste digitale afrundinger går på konsekvent at afrunde ned, men man kan jo have brug for andet. Jeg tror ikke at der er nogen smartere måde at foretage matematisk afrunding på end ved at lægge halvdelen af mindstetrinnet i outputtet til før du afrunder ned.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester