-
-
-
witam, mam do zrobienia listę z OSK i muszę przekonwertować liczby szesnastkowe na ósemkowe i odwrotnie. Z częściami całkowitymi nie ma problemu - gorzej z ułamkami, w skrypcie jest np.
(podstawa) - w nawiasie
8(16)^-1 = 0,2(16) ; 8(16)^-2 = 0,04(16) ; 8(16)^-3 = 0,008(16)
lub
10(16)^-1 = 0,1(16) = 0,01(4)
nie wiem dokładnie jak wyliczyć te ułamki, proszę o podpowiedź,
pozdrawiam
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Załóżmy, że chcesz podnieść po potęgi -1 liczbę 2 w systemie dziesiętnym.
2^-1=1/2
Żeby otrzymać z tego liczbę z przecinkiem mnożysz licznik i mianownik przez taką liczbę, aby uzyskać w mianowniku podstawę tego systemu, czyli 10, zatem
1/5* 5/5 = 2/10 = 0,2, oczywista sprawa.
Analogicznie postępujesz w przypadku systemu szesnastkowego i innych. Zatem sprawa z tą ósemką w systemie szesnastkowym będzie wyglądała następująco:
8^-1=1/8
W mianowniku mamy osiem, a podstawa systemu wynosi 16, zatem mnożymy licznik i mianownik przez 2:
1/8 * 2/2 = 2/16 = 0.2 (wszystko oczywiście w systemie szesnastkowym).
8^-2=1/40
Mianownik = 40, czyli oczywiście 64 w dziesiętnym i tak moim zdaniem najwygodniej na to patrzeć, żeby przekształcić ułamek zwykły (ale nie gwarantuję. że to najwłaściwszy sposób). 0.01(10) = 10^-2, zatem 0.01(16) = 16^-2=1/100(16) (100(16) = 256(10)) i do takiej wartości mamy doprowadzić mianownik wcześniejszego ułamka, żeby uzyskać liczbę przecinkową, czyli
1/64*4/4=4/256(10) = 4/100(16)=0.04(16)
Jak już pisałem wyżej, takie podejście może nie być do końca właściwe i pewnie lepszym rozwiązaniem jest jednak wyrobienie sobie pewnego obycia z systemem szesnastkowym, przeniknięcie jego natury i dostrojenia do niego umysłu, ale jako doraźne rozwiązanie można to chyba zaakceptować. Oczywiście, jeżeli to co napisałem ma jakiś sens nie tylko dla mnie
d41d8cd98f00b204e9800998ecf8427e
-
-
-
ok dziękuję za odpowiedź, trochę mi rozjaśniłeś umysł, ale nie do końca rozumiem jedno mnożenie:
1/5* 5/5 = 2/10 = 0,2
?
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Miało być 2/2 oczywiście, sorry
EDIT - tak jak teraz patrzę, to trochę bez sensu jest to co napisałem z tym uzyskiwaniem mianownika równej podstawie systemu - generalnie zawsze w mianowniku masz mieć dziesięć, bez względu na system, tylko w szesnastkowym 10=16(10) w ósemkowym 8, itd. Zresztą całe to tłumaczenie trąci amatorką, lepiej się dopytaj na zajęciach
EDIT 2- no i kolejny błąd - "1/8 * 2/2 = 2/16 = 0.2 (wszystko oczywiście w systemie szesnastkowym)." Zamiast 16, jest oczywiście 10 (w szesnastkowym).
d41d8cd98f00b204e9800998ecf8427e
-
-
-
dzięki jeszcze raz myślę że Twoje tłumaczenie wystarczy do nauczenia się tego, pozdr.
[ Dodano: 2011-10-31, 23:55 ]
no jednak nie podołałem, Twoim sposobem nie mogę sobie poradzić np. przy zamianie 8(16)^-3
nie wiem dlaczego w skrypcie wychodzi 0,008(16)
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Pewnie już nieaktualny problem, ale z nudów sobie przeliczyłam i wychodzi, jak w skrypcie:
8^-3=1/8^3 = 1/512
robiłam na piechotę troszkę, sprawdziłam potęgi 16, czyli 16^2=256, 16^3=4096
następnie: 4096:512 = 8, co dało mi podstawę do przemnożenia przez 8/8:
1/512*8/8 = 8/4096 = 8/16(10)^3 = 8/10(16)^3= 0,008(16)
_________________ You see things; and you say "Why?" But I dream things that never were; and I say "Why not?" –George Bernard Shaw
d41d8cd98f00b204e9800998ecf8427e
Powered by phpBB modified by Przemo © 2003 phpBB Group. Then, after many years modified again, this time by Piotrek © 2014 Strona wygenerowana w 20,3ms. Zapytań do SQL: 15
|