1 Şubat 1989 Tarihli Commodore Gazetesi Sayfa 59

1 Şubat 1989 tarihli Commodore Gazetesi Sayfa 59
Metin içeriği (otomatik olarak oluşturulmuştur)

olan) V5 önce 256'ya bölünür. Son- raki bayt olanı V4 buna eklenir ve sayı tekrar 256'ya bölünür. Şimdi V5'i 256?'ne bölmüş olduk. Bundan son- ra çıkan sayı V3 ile toplanır ve tek- rar 256'ya bölünür. Son olarak dü- zeltilmiş en önemli mantis bayt'ına V2 eklenir ve çıkan 256'ya bölünür. Şimdi kendinizi satır 1040'taki MN değişkenin aşağıdaki değeri sakladı- ğına inandırmanız için biraz cebir alıştırması yapmaya gerek duyabilir- siniz. V2/256 4 V3/256? 4 V4/2563 * V5/2564 Burada, her basamağı basamak de- Beriyle 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 4 1/22 4 0/23 4 1/24 Satır 1050 en önemli bayt'ın (EBÖB) değerini kontrol ederek mantis'in işa- retini (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 man- tisler 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, man- tis ve üs ile XO değişkeninin gerçek değerini gösterir. Program aslında gerçekten SN*MN*2EX hesaplama- sını yapmamaktadır, çünkü çarpım ve üs alma'yı yuvarlak hale getirirken meydana gelen hatalar sonuçların doğruluğunu kısıtlamaktadır. Eğer is- terseniz bu hesabın sonucu verecek ifadeyi programa kendiniz koyabilir- siniz, Eğer program içinde X'e basarsa- nız program değer girme moduna gi- rer. Bu modda X0 değişkeninde sak- lanacak 5 bayt'ı kendiniz verebilirsi- niz. Bu sefer sıfır 1010'daki aynı ru- tin 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 (SOR(64)) 6'dan ne kadar farklı ol- duğuna bakalım. Programın 20. Sa- tırı X0'ı 36'nın karekökü olacak şe- kilde tanımlamaktadır. Eğer progra- mı ilk çalıştırdığınız anda direk RE- TURN tuşuna basacak olursanız, X0 değerini koruyacaktır. SOR(64) için saklanan bayt'lar şu şekilde gösteri- lir: 131 64001 Şimdi 6 değerini girin ve bu sefer: 13164000 şeklinde saklandığını görün. Çömez baytın | sayılık farkı, ek- ran gösterimi açısından önemli değil- dir. Ancak iş 6 ile SOR(36)'yı karşı- laştırmaya gelince bu fark önem ka- zanır. Şimdi X'e basarak mod değiştirin. 131, 64, Ö, O, 2 değerlerini girin. Bu değer ekranda 6.00000001 olarak gösterilecektir. Bu deneyi başka sa- yı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 program- la tam olarak neyin gösterildiğinden emin olmanız için, SOR(36)'ya eşit olan X0'ın sonuçlarını inceleyelim, Bir kez daha SOR(36)'nın iç değer- leri 131, 64, O, O, |'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 ol- - ması onun pozitif bir mantis olduğu- nu göstermekte. 59

Bu sayıdan diğer sayfalar: