[wiskunde] hexadecimale breuken?

Pagina: 1
Acties:
  • 374 views sinds 30-01-2008
  • Reageer

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
de standaard calculator met hex ondersteuning begint er niet aan, hexadecimale breuken. ik vroeg me af waarom eigenlijk niet? ik bedoel, een decimale breuk kan worden uitgedrukt in x*10^y, waarom dan een hexadecimale breuk niet in x*16^y (of x*10^y in hex)? Kan dat? En hoe converteer je een decimale breuk dan naar een hexadecimale?

Verwijderd

Lijkt me niet al te moeilijk toch? Het getal boven de streep converteren en het getal eronder ook?

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
euhm...tsja. ik voel me een beetje dom...lang geleden wiskunde

maar dus 0.17dec = 1/17dec = 1/11hex? en dat wordt dan 1*11^-1 hex...maar da's dan nog steeds niet de vorm die ik zocht?

[ Voor 43% gewijzigd door Genoil op 18-06-2003 16:57 ]


Verwijderd

0.17 gelijk aan 1/17? Haal je nu niet een paar dingen nogal door elkaar? 17/100 komt meer in de buurt ;)

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
arg...nouja het maakt ook niet uit, als het maar een breuk is

pfff...warm hier ineens... :D

ok overnieuw

0.17 d = 17/100 d

17/100 d = 11/64 h

weer een edit..m'n rekenmachine bedriegt me steeds

ik ga nog ff verder prutsen

[ Voor 68% gewijzigd door Genoil op 18-06-2003 17:06 ]


  • Rey Nemaattori
  • Registratie: November 2001
  • Laatst online: 04-11-2025
volgens mij ondersteunt het hexadecimale stelsel geen komma getallen

10,1[16] <> 16,0625[10] of wel?

Als het wel zo is dan zou
1/17[10] = 0,0588(23529411764705882352941176471)[10]
1/17[16] (=> 1/23[10] => 0,0434(978260869565217391304347826087)[10]) = 0,06944

Of verdrink ik mezelf nu?

* Rey Nemaattori neemt preventief zijn duikuitrusting meej

Speks:The Hexagon Iks Twee Servertje

"When everything is allright,there is nothing left."Rey_Nemaattori


Verwijderd

1/17 d=
0,0F0F0F0F0E94 h

Vraag: hoe converteer je een decimale breuk naar een hexadecimale:

Hex: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Stel decimaal getal=3.141592653

Hex wordt dan

Getal = 3.141592653 -> int = 3, rest = 0.141592653 (*16= 2.2654824)
Getal = 2.265482400 -> int = 2, rest = 0.265482400 (*16= 4.2477184)
Getal = 4.247718400 -> int = 4, rest = 0.247718400

3.141592653 d = 3.243F6A791A9 h

Als ik geen (reken) fouten heb gemaakt dan werkt het dus zo

  • GeeBee
  • Registratie: Maart 2000
  • Laatst online: 08-01 21:16

GeeBee

Oddball

Klopt.
Met een punt er in kun je inderdaad wel decimale getallen maken. Elk getal achter de punt heeft dan een negatieve exponent.

Bijvoorbeeld FA9.C zou dan worden:

15×162+10×161+9×160+12×16-1=4009,75

Maar volgens mij is Hex daar niet voor bedoeld.
Mathworld: http://mathworld.wolfram.com/Hexadecimal.html

Van decimaal naar Hexadecimale breuken is volgens mij een hele toer:

16-1=0,0625
16-2=0,00390625
etc...

een decimale breuk als 0,36 omzetten:

eerst past 16-1 er 5,76× in, dus 5 rest 0,0474 -> 510=516
in die rest van 0,0474 past 16-2 er 12,16× in -> 12 rest 0,000625 -> 1210=C16
in de rest van 0,000625 past 16-3 er 2,56× in -> 2 rest etc....

tot nu toe 0.5C2 en de rest mag je zelf doen...

[ Voor 42% gewijzigd door GeeBee op 18-06-2003 19:06 ]

Woof, woof, woof! That's my other dog imitation.


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-12-2025
Niet alleen kan het, maar vrijwel er zijn computers gebouwd die dit daadwerkelijk deden (IBM). Tegenwoordig worden er binaire breuken gebuikt, 0,75 = (binair) 0,11.

Marchello_E laat zien hoe je ze uitrekent, met een staartdeling dus.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
ik snap het. dank jullie wel :)
niet dat ik er verder iets mee ga doen of zo, erg nuttig is het idd niet ;)

  • Avalanchez
  • Registratie: Juni 2002
  • Laatst online: 25-06-2012

Avalanchez

Phr34k

MSalters schreef op 18 juni 2003 @ 22:38:
Niet alleen kan het, maar vrijwel er zijn computers gebouwd die dit daadwerkelijk deden (IBM). Tegenwoordig worden er binaire breuken gebuikt, 0,75 = (binair) 0,11.

Marchello_E laat zien hoe je ze uitrekent, met een staartdeling dus.
maar das niet echt wat de topicstarter bedoelt, lijkt me. hij wil een teller/breukstreep/noemer. een effectief algoritme lijkt:

bv. 0.1666666... = x

y en z = 2 vermenigvuldigingsfactoren, zodat men de 2 kleinste patronen in de decimale vorm afzondert. hier y=1000 en z=100.

floor(y*x)= 160 = A
floor(z*x)= 16 = B
A-B = 144
y-z = 900
144/900 = 1/6 = breuk

voor hexadecimale getalletjes dien je gewoon A-B en y-z te converteren naar hexadecimaal.

Computers are stupid, they can only give you answers. -Picasso


Verwijderd

GeeBee schreef op 18 juni 2003 @ 18:52:
Maar volgens mij is Hex daar niet voor bedoeld.
??
Hex is enkel het gebruik van meer getallen dan 10.

Binair is het mooier te zien wat er gebeurd met decimalen

1000.0000 b = 8 d
0100.0000 b = 4 d
0010.0000 b = 2 d
0001.0000 b = 1 d
0000.1000 b = 0.5 d
0000.0100 b = 0.25 d
0000.0010 b = 0.125 d
0000.0001 b = 0.0625 d
een decimale breuk als 0,36 omzetten:
0.36 d = 0.5C28F...h
Avalanchez schreef op 19 juni 2003 @ 11:39:
maar das niet echt wat de topicstarter bedoelt, lijkt me. hij wil een teller/breukstreep/noemer. een effectief algoritme lijkt:
Dat mag'ie dan beter uitleggen want wat jij daar doet snap ik helemaal niet... (sorry)
bv. 0.1666666... = x

y en z = 2 vermenigvuldigingsfactoren, zodat men de 2 kleinste patronen in de decimale vorm afzondert. hier y=1000 en z=100.

floor(y*x)= 160 = A
floor(z*x)= 16 = B
A-B = 144
y-z = 900
144/900 = 1/6 = breuk

voor hexadecimale getalletjes dien je gewoon A-B en y-z te converteren naar hexadecimaal.[/quote]
144/900 = 16/100 = 0.16 != 0.16666666...

144d/900d = 90h/384h = 0.28F5C...h
1/6 = 0.2AAAA...h

  • Avalanchez
  • Registratie: Juni 2002
  • Laatst online: 25-06-2012

Avalanchez

Phr34k

Verwijderd schreef op 19 June 2003 @ 13:31:
[...]

Dat mag'ie dan beter uitleggen want wat jij daar doet snap ik helemaal niet... (sorry)
bv. 0.1666666... = x

y en z = 2 vermenigvuldigingsfactoren, zodat men de 2 kleinste patronen in de decimale vorm afzondert. hier y=1000 en z=100.

floor(y*x)= 160 = A
floor(z*x)= 16 = B
A-B = 150
y-z = 900
150/900 = 1/6 = breuk

voor hexadecimale getalletjes dien je gewoon A-B en y-z te converteren naar hexadecimaal.
144/900 = 16/100 = 0.16 != 0.16666666...

144d/900d = 90h/384h = 0.28F5C...h
1/6 = 0.2AAAA...h[/quote]

my bad: floor(y*x) = 166 = A... zodat de rest van de berekening ook niet meer klopt...

we beginnen opnieuw:

floor(x*y) = 166
floor(x*z) = 16
A-B = 150
y-z = 900
breuk: 150/900 = 1/6...

(96h/384h, klopt dat?)

Computers are stupid, they can only give you answers. -Picasso


Verwijderd

753 d = 7·102 + 5·101 +3·100
= 7·100+5·10+3·1
= 753

96h = 9·161 +6·160 = 150 d
384 = 3·162 + 8·161 + 4·160 = 768+128+4 = 900 d

ja klopt

Verwijderd

proggie nodig? (wel verkeerde forum deel, but who cares)

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
haha nee joh...jullie gaan hier wel "hard" op zeg ;).
Pagina: 1