Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Zapis czasu i daty. Na ilu bitach jest to zapisane?

tpokala 01 Feb 2009 17:38 3414 5
  • #1
    tpokala
    Level 19  
    Witam,

    Tak mnie naszło się pobawić przed kolosem hexedytorem, i pojawił się problem - jak zapisać datę, zwłaszcza jeśli mam zapisać rok 3000 np?

    Wiem, że ma się to zmieścić na 16 bitach:
    7 bitów na rok, 4 na miesiąc i 5 na dzień

    powiedzmy, że chcę zapisać datę 3000.05.28:
    .....|00101|11100
    ale jak w 7 bitach zmieścić 3000?

    Podobny problem mam z czasem, konkretnie z sekundami:
    Z googla mam wzór:
    czas=(godziny*2048)+(minuty*32)+(sekundy/2)

    jak sekundy są parzyste to jest ok, ale co mam zrobić, jak sekundy są nieparzyste?

    Przy czasie nurtuje mnie też, dlaczego na sekundy jest 5 bitów a na minuty 6?
  • #2
    User removed account
    User removed account  
  • #3
    tpokala
    Level 19  
    AndrzejHir wrote:
    Czy wiesz o co Ci chodzi ? Ja nie mogę zrozumieć w czym problem. Poczytaj sobie o liczeniu binarnym, dzięsiętnym etc. Zasada dla każdego systemu liczenia jest jednakowa. System pozycyjny.
    http://www.math.edu.pl/system-pozycyjny


    chodzi mi o FATa głównie, zwłaszcza FAT12 i zabawy sektorami.

    Tam data zajmuje 2 bajty z podziałem jak wyżej napisałe, podobnie czas. Czy to znaczy ze skoro nie da się zapisać roku większego niż 2107 w tym FAcie to będzie koniec FAT12?
  • #4
    User removed account
    User removed account  
  • #5
    tpokala
    Level 19  
    o to mi właśnie chodziło :D

    Wyciągam z tego wnioski, że w dacie rok może być z zakresu 1980-2107 i sekundy w czasie zapisuje się co 2 sek (pomijając już bardziej zaawansowane zapiywanie w tych zarezerwowanych obszarach).
  • Helpful post
    #6
    User removed account
    User removed account