Civril Posted November 8, 2011 Report Share Posted November 8, 2011 A więc to jest zadanie Dane: Adres bazowy = 25H numer komórki = 3 typ danych = Integer CellAdress=25 + 2 x 4= 33 , a 33 w hex daje wartość 21 Prowadzący twierdzi, ze poprawny wynik to 3Dhex, mi nasuwają się pytania: Czemu wynik jest w hex skoro obliczenia są dec? Tak się po prostu podaje? Czy adres bazowy 25h to wartość dec? Pytam o to wszystko bo wynik się nie zgadza z wynikiem od prowadzącego. Link to comment Share on other sites More sharing options...
[Ekspert] Mormegil Posted November 8, 2011 Report Share Posted November 8, 2011 Oj oj, prowadzący, czyli studia. No słabo to wygląda. Przecież sam napisałeś 25H, czemu więc sumę z 8 traktujesz jak liczbę dziesiętną? Wzory są dwa: indeksujemy od zera (jak w C) - adres bazowy + N * rozmiar elementu indeksujemy od 1 (jak w Pascalu) - adres bazowy + (N - 1) * rozmiar elementu Dane: Adres bazowy = 25H numer komórki = 3 typ danych = Integer Adres bazowy = 0x25 = 2 * 16 + 5 = 32 + 5 = 37, N = 3 - niesprecyzowane jak indeksujemy tablicę, załóżmy, że od 0, rozmiar elementu - integer - niesprecyzowane jaki system danych (Integer może mieć w zasadzie dowolną liczbę bajtów), załóżmy, że taki jak w win32, czyli 4. Dziesiętnie 37 + 3 * 4 = 37 + 12 = 49 49 = 48 + 1 = 3 * 16 + 1 = 0x31 Szesnastkowo 0x3 * 0x4 = 0xC 0x25 + 0xC = 0x20 + (0x5 + 0xC) = 0x20 + 0x11 = 0x31 Skąd wynik 0x3D? 0x3D - 0x25 = 0x18 0x18 / 0x3 = 0x8 Integer ma 8 bajtów według prowadzącego. Link to comment Share on other sites More sharing options...
Civril Posted November 8, 2011 Author Report Share Posted November 8, 2011 Dzieki wielkie za pomoc, te kretynskie bledy to raczej ze stresu i pospiechu. edit: Prowadzacy dodal jeszcze, ze jak ktos poda inny wynik a uzasadni czemu jest inny i bedzie dobrze to zaliczy wiec chyba chodzilo mu o to, ze ktos moze przyjac int jako 4 edit2: Wzory są dwa: indeksujemy od zera (jak w C) - adres bazowy + N * rozmiar elementu indeksujemy od 1 (jak w Pascalu) - adres bazowy + (N - 1) * rozmiar elementu N = 3 - niesprecyzowane jak indeksujemy tablicę, załóżmy, że od 0, To skoro od zera to nie powinno byc N=2? No bo: numer----> index 1----------> 0 2----------> 1 3----------> 2 Link to comment Share on other sites More sharing options...