Bunlar matematiksel oyunlar..
Mesela aklınızdan bır sayı tutun..2 ile carpın 30 ekleyın cıkan sonucca sonra ıkuıye bölün sonra tuttugunuz sayıyı cıkarın sonuctan şaşırdınız dimi sonuç 15
Printable View
Bunlar matematiksel oyunlar..
Mesela aklınızdan bır sayı tutun..2 ile carpın 30 ekleyın cıkan sonucca sonra ıkuıye bölün sonra tuttugunuz sayıyı cıkarın sonuctan şaşırdınız dimi sonuç 15
biyerde hata yaptım ama cıkıyor
checksum denen kontrol amaçlı bir algoritma bu. bir numara çevirip aradığınızda bu şekilde kontrol edilir, çıkan sonuç çevirdiğiniz numarayla aynıysa bağlantıyı kurar. Sonuç tutarsız çıkarsa bant kaydında bir bağyan vızıklar : "eksik ya da yanlış tuşladınız vıdı vıdı"
aa çıktı harbiden ilginç :)
numarayı eksik gir, mesela 1234 olarak;
ilk 3 basamağı 80'le çarp = 9840
1 ekle = 9841
250 ile çarp = 2460250
son 4 rakamı 2 kez ekle = 2460250 + 1234 + 1234 = 2462718
250 çıkar = 2462468
2'ye böl = 12341234
1234 != 12341234
sonucun farklı çıkma imkanı ve hatalı girişi tespit etme de varmış demek ki.
Matematik profesörü lazım bize bunun açıklamasını yapması için :)
eksiklik kontrolu böyle olmaz direk sizedan bellidir zaten. tam olduğundada bu algoritmanın farklı bi sonuç üretmesi imkansız yukarıda matematiksel formulu verilmiş zaten ilk 3 rakamı 10000 ile çarp son 4 rakamı ekleden başka bişey yapmıyo.
checksum datanın kendi elemanlarının(bit) toplanarak(bi algoritmadan geçirilerek) elde edilen sonuçla karşılaştırılması vsdir.
Checksum fonksiyonunu istediğim bir pattern'den seçebilirim. Checksum'da işlemin senin yazdığın gibi bitwise olmak gibi bir zorunluğu yok. Data'yı word'lere ayırıp işleyebileceğin gibi bazı hash fonksiyonlarını da kullanabilirsin.
Eksiklik kontrolü de checksum sırasında data word'lere ayrılırken tespit edilir, transmission sırasında ya da bittiğinde ayrıca size'ı kontrol edilerek değil.