Bu sayfadaki yazılar
Sayfanın metni
Sayfa 58
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 59
Burada, her basamağı basamak değeriyle bölerek ondalığa çevirdiğimiz 0.1101 örneğine benzer bir mantık güdülmektedir.
1/2 4 1/4 4 0/8 4 1/16 — 1/2 * 1/22 4 0/23 4 1/24
Satır 1050 en önemli baytın (EBÖB) değerini kontrol ederek mantis'in işaretini (SN) belirliyor. V2'nin EÖB'si ancak eğer bit 1'e eşit olduğunda 128 veya daha büyük bir değere sahip olur. Bu yüzden bütün negatif mantisler 128'e eşit veya büyük ve bütün pozitif mantisler 128'den küçük bir
V2 değeri alırlar. Satır 1060, hesaplanan işaret, mantis ve üs ile X0 değişkeninin gerçek değerini gösterir. Program aslında gerçekten SN*MN*2^EX hesaplamasını yapmamaktadır, çünkü çarpım ve üs almayı yuvarlak hale getirirken meydana gelen hatalar sonuçların doğruluğunu kısıtlamaktadır. Eğer isterseniz bu hesabın sonucu verecek ifadeyi programa kendiniz koyabilirsiniz. Eğer program içinde X'e basarsanız program değer girme moduna girer. Bu modda X0 değişkeninde saklanacak 5 baytı kendiniz verebilirsiniz. Bu sefer satır 1010'daki aynı rutin bu değerleri üs/mantis düzenine dönüştürecektir. 5. baytı (V5) hafifçe değiştirdiğinizde X0'ın gösterilen değerinin değişmediğini göreceksiniz. Ekranda gördüğümüz sayılarda bu sık sık olmaktadır. Örneğin, 64'ün karekökünün (SQR(64)) 6'dan ne kadar farklı olduğuna bakalım. Programın 20. satırı X0'ı 36'nın karekökü olacak şekilde tanımlamaktadır. Eğer programı ilk çalıştırdığınız anda direkt RETURN tuşuna basacak olursanız, X0 değerini koruyacaktır. SQR(64) için saklanan baytlar şu şekilde gösterilir:
131, 64, 0, 0, 1 Şimdi 6 değerini girin ve bu sefer: 131, 64, 0, 0, 0 şeklinde saklandığını görün. Çömez baytın 1 sayılık farkı, ekran gösterimi açısından önemli değildir. Ancak iş 6 ile SQR(36)'yı karşılaştırmaya gelince bu fark önem kazanır. Şimdi X'e basarak mod değiştirin. 131, 64, 0, 0, 2 değerlerini girin. Bu değer ekranda 6.00000001 olarak gösterilecektir. Bu deneyi başka sayılarla yapın ve ekranda gösterilen değerin iç değerlerdeki değişmelere karşı ne kadar hassas olduğunu görün. Konuyu toparlarken bu programla tam olarak neyin gösterildiğinden emin olmanız için, SQR(36)'ya eşit olan X0'ın sonuçlarını inceleyelim. Bir kez daha SQR(36)'nın iç değerleri 131, 64, 0, 0, 1'dir. Üs 131 eksi 128, yani 3'tür. Mantis'in EÖB'si 64, yani ikili olarak 01000000'dir. Bu baytın en solundaki bitin 1 olarak düşünüldüğünü hatırlayın. Burada 0 olması onun pozitif bir mantis olduğunu göstermekte.