prebacivanje iz hex-a u decimal
Bilo bi dobro da mi neko da neki link gde bih mogao da proucim ove stvari.Muku mucim sa nekim bajnari kodovima u fortranu tako da kad imam od -h ispis tipa:
0000000 04b2 0000 0000 0000 1388 1388 1388 1388 0000020 1388 1388 1388 1388 1388 1388 1388 1388 * 0002260 1388 1388 1388 1388 1388 04b2 0000 0000 0002300 0000 04b2 0000 0000 0000 14e6 14e6 14e6 0002320 14e6 14e6 14e6 14e6 14e6 14e6 14e6 14e6 * 0004560 14e6 14e6 14e6 14e6 14e6 14e6 04b2 0000 0004600 0000 0000 04b2 0000 0000 0000 1644 1644 0004620 1644 1644 1644 1644 1644 1644 1644 1644 * 0007060 1644 1644 1644 1644 1644 1644 1644 04b2 0007100 0000 0000 0000 04b2 0000 0000 0000 165f 0007120 165f 165f 165f 165f 165f 165f 165f 165f Ovo mi je problem |
Sta ovo na pocetku tipa 0002260,0002300 predstavlja?
|
Ofset - udaljenost od početka, u bajtovima (kao broj linije kad npr. edituješ neki fajl u editoru).
Isto u heksadecimalnom zapisu (zapravo, kad malo bolje pogledam, pre će biti da je u oktalnom). |
Hvala Jablane.Jos samo da li je ofset isto sto i header?
|
Nije. Header je deo podataka. Ofset je samo pomoćna informacija tebi koji gledaš te podatke (kao broj stranice kad čitaš knjigu - header je u toj analogiji naslov knjige, npr.).
|
Problem je sto imam neke bajnarije napravljene na SUN Sparcu pod Unixom,to mi treba kao input file za moj program.
|
Ovo sam ja prebacio iz ASCII formata u binary:
0000000 0018 0000 0000 0000 0347 3f80 0000 4000 0000020 0000 3fa0 0000 0000 0000 0000 0000 0000 0000040 0018 0000 0000 0000 0018 0000 0000 0000 0000060 0000 3f80 0000 3f80 d70a 3ca3 e148 40a6 0000100 35a8 3d4d 0000 0000 0018 0000 0000 0000 0000120 0018 0000 0000 0000 0000 3fc0 0000 3f80 A kad ne krece od prve linije: 0000000 0018 0000 0000 0000 0000 3f80 0000 4140 0000020 0000 3fa0 0000 0000 0000 0000 ffff ffff 0000040 0018 0000 0000 0000 0018 0000 0000 0000 0000060 0000 3f80 0000 3f80 d70a 3ca3 e148 40a6 0000100 cccd 3d4c 0001 0000 0018 0000 0000 0000 0000120 0018 0000 0000 0000 0000 3fc0 0000 3f80 Znaci fajlovi su razliciti iako su numericke vrednosti iste. |
Citat:
|
^ To je oktalni ali za oktavu više :D
|
Citat:
|
^ kad se već broji...
Kôd:
assert_equal 0x20, 32 |
Mislim da je na neki nacin i record length sadrzan u hex ispisu.
Sta ovo assert_equal 0x20, 32 predstavlja? |
Ovo je sa Intel Fortran foruma(sta su mi tamo rekli):
The first record is quite revealing. It is a record of length 0x04B2, with 0x259 (=decimal 601) INTEGER*2 values, all of which are 0x1388 (=decimal 5000). 0x259=601 jbt kako to?????????????????????????????????? |
ma prosto, duzina recorda je 0x04B2, pa je pola od toga 0x259 (0x04b2=1202), to ti je posto kaze da su zapisi tipa integer*2 (sto valjda znaci da je 32 bitni int, bem li ga), pa se broj zapisa dobija kao duzina / 2
|
Citat:
|
Citat:
|
Kako 32, valjda 16? 8 grupa po dva. BTW ja u doba Unikoda ne bih koristio reč "karakter" umesto "bajt". :)
BTW, znam da nema logike da brojač bude oktalan, a podaci heksadecimalni, al tako je. :) |
0000000 00f2 0000 0000 0000 0000 0000 0002 0020
0000020 0041 0000 0000 0000 0000 0000 0000 0000 0000040 0000 0000 0000 0000 0000 0000 0000 0000 * Pojavljuje mi se sad *.Otkud to?Ima li neki link gde bi mogao da procitam ovim stvarima(cudima)? |
Nema header,posto koristim Intel Linuc Compiler to mi je objanio njihov developer.
|
Vreme je GMT +2. Trenutno vreme je 21:08. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.