Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Valaki megtudja ezt oldani?

385
Részletesen légyszi.
Kitérnétek arra is hogy mit jelent a "a" , "t" , "k+" "k-" jelölések
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Felsőoktatás / Matematika

Válaszok

1
Az `a` szám megmondja, hogy hányas alapban járunk.
A `t` azt mutatja, hogy az adott alapú számrendszerben hány számjegyet tudunk még eltárolni (ez példával sokkal érthetőbb).
A `k_-` és `k_+` számok azt mutatják, hogy mennyi lehet a minimum és a maximum kitevője az alapnak.

Ez kicsit olyan, mint a normál alak, csak a szám, amivel szorzol az 1-nél kisebb. Ha veszed mondjuk a `10^5*0.4539`, akkor az úgy néz ki ilyen felírásban, hogy
`text( ) 0 text( ) 5 text( ) 4 text ( ) 5 text( ) 3 text( ) 9`
`text(előjel )10^x \qquad x*10^(-1) \qquad x*10^(-2) \qquad x*10^(-3) \qquad x*10^(-4)`

(itt `k_(-) = 0`, ez fontos lesz)
Ha a 10-et mindenhol helyettesíted az alappal, megkapod ezt akármilyen számrendszerre.

A te számod valahogy úgy fog kinézni, hogy
`abcdefgh`
ami annyit tesz, hogy
`text(előjel)*2^(bcd)*(e*2^(-1)+f*2^(-2)+g*2^(-3)+h*2^(-4)`)

`a` az előjel-bited (ha 0, akkor pozitív, a 1, akkor negatív a szám)
`bcd` a kitevőd+3. Mivel a kitevő legkisebb értéke -3, a legnagyobb pedig 3, a kitevő 7 értéket vehet fel. Ezt legkevesebb 3 bitben tudod eltárolni.
`000 -> -3`
`001 -> -2`
`011 -> 0`
`110 -> 3`
Ezen kívül még 4 bited lesz, mivel `t=4`.

Ez a szám ugye akkor lesz a legnagyobb, ha
1, pozitív
2, a lehető legnagyobb kitevőre emelem az alapos szorzótényezőt
3, az érték is a lehető legnagyobb. Mivel összeadás van ezek között, ez akkor lesz a legnagyobb, amikor minden egyes tag a legnagyobb.

1) `->a=0`
2) `->k=3->bcd=110`
3) `->efgh=1111`
Az így kapott szám `01101111`, ami
`(+1)*2^3+(1*2^(-1)+1*2^(-2)+1*2^(-3)+1*2^(-4))=15/2=7.5`

A visszafele konvertálás már érdekesebb. A számod most 0.8. Ezt az 5. helyi értékig kell kiszámolni 2-es számrendszerben, mivel az 5. hely alapján kerekítesz a 4.-re.
`a=0`, mert a szám pozitív.
`bcd=011`, mivel az `efgh` rész fel tud írni számokat 0-tól `le1`-ig. Ez alapján 1-gyel kell szorozni, ami `2^0`, tehát `k=0 ->bcd=011`
Mivel nem tudom a tört átalakítására a "formális" módszert, maradok a számolgatásnál. Ha kisebb lesz 0-nál az eredmény, akkor a bit 0, egyébként a bit 1. Ha pont 0 jönne ki, akkor megvan a pontos érték.
`e=1`, mivel `0.8-2^(-1)=0.3`
`f=1`, mivel `0.3-2^(-2)=0.05`
`g=0`, mivel `0.05-2^(-3)=-0.075`
`h=0`, mivel `0.05-2^(-4)=-0.0125`
`i=1`, mivel `0.05-2^(-5)=0.01875`
Ebből `text(efghi)=11001`.
`efgh` szabályosan kerekített értéke `1101`
`efgh` levágással kerekített értéke `1100`

Itt vannak a linkek, ami alapján megértettem, hogy mit is kéne itt csinálni:
http://progmat.uw.hu/oktseg/numanal/numanal1/na1_szamabr.pdf
^ 5. oldal példája
https://gyires.inf.unideb.hu/GyBITT/31/ch05s05.html
https://hu.wikipedia.org/wiki/Lebeg%C5%91pontos_sz%C3%A1m%C3%A1br%C3%A1zol%C3%A1s#Kerek%C3%ADt%C3%A9s._Kerek%C3%ADt%C3%A9si_hiba

Itt egy decimális-bináris átalakító, ami törtet is tud váltani. Ezzel ellenőriztem magam.
https://www.rapidtables.com/convert/number/decimal-to-binary.html
0