TARİHLER
Beceriksizler Board'daki Zebanicik üstadın mesajlarından alınmıştır.
TARİH OLAYIEğer insler içerisinde
verilen tarihin nasıl bulunduğunu anlarsanız, bu iş bitti demektir.
Şimdi bunu anlatalım:
Tarih olarak iki BYTE lık bir değer yazıyoruz.
Her byte iki tane HEX (onaltılı) rakamdan oluştuğuna
göre, toplam 4 adet onaltılı rakam sözkonusu demektir.
Tarihimiz: 19 9F olsun.
Öncelikle bunu binary'ye (ikili sisteme) çevireceğiz. Onluk sistemden ikili
veya onaltılı sisteme dönmek biraz hesap - kitap ya da windowsun hesap
makinasını gerektirir ama, HEX<>BIN dönüşümleri akıldan kolayca yapılabilir.
Zaten bunun için onluk sistem kullanılmaz bu işlerde.
19 9F'i ikili sisteme çevirelim:
1 9 9 F
0001 1001 1001 1111
her nibble'ı ayrı ayrı çevirmek en kolayı. ben şimdi akıldan çevirdim. kısa
bir süre sonra siz de akıldan çevirebilirsiniz.
Şimdi bu Binary sayıyı yanyana, 16 bit (rakam) olarak yazalım:
0001100110011111
şimdi ilk 7'sini, sonraki 4'ünü ve son 5'ini ayıralım. Tarih CW sistemde bu
şekilde. Denir ki: "16 bitlik tarih verisinin ilk 7 bit'i yıl, sonraki 4
bit'i ay, son 5 bit'i de gün bilgisini verir" Buna göre de biz ayıralım.
0001100 1100 11111
İlk 7'si yıl, sonraki 4'ü ay,son 5'i de gündür.
Şimdi bunu nasıl bildiğimiz "onlu" sisteme çeviririz?
Yıl bilgisinin ilk 3 bit'i (rakamı) sıfır olduğu için, dikkate alınmaz.
Onlu sistemde 175 ya da 0000175 yazılması gibi bir şey bu. Nasıl ki
0000175'in başındaki 5 sıfır hesaba katılmazsa (solda sıfır olayı)
burada da DOĞAL OLARAK AYNI ŞARTLAR gerçerlidir.
O zaman YIL bilgimiz nasıl oluyor?
1100
Sağdan itibaren: Birincisi birler, ikincisi ikiler basamağıdır ve bunlar sıfırdır.
Ondan sonra gelen dörtler ve 8'ler basamağı 1 olduğu için, 8+4=12 olur.
Yani yıl, 12'dir.
CW'de yıl verilirken, milat 1990'dır. Yani 0 yılı demek 1990 olur. Bu,
bilinen bir şey (Siz de biliyorsunuz şu anda daha önce bilmiyordu iseniz)
O zaman 12 yılı da, bizim yıllarla 2002 olacaktır.
Şimdi gelelim AY bilgisine.
Aaaa o da ne? AY bilgisi de yıl bilgisinin aynı....
Demek ki 12. ay Yani aralık.
Son olarak gün:
11111
Burada hem birler, hem ikiler, hem dörtler, hem sekizler hem de onaltılar
basamağı 1 dir. o zaman hepsini toplarsak:
1+2+4+8+16=31
gün de 31 oluyor demekki...
Neymiş tarihimiz?
31/12/2002