1 Şubat 1989 Tarihli Commodore Gazetesi Sayfa 60

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

Bu baytın en soldaki bit'ini onda- lık karşılığı 192 olan 11000000 olacak şekilde | ile değiştirin. Şimdi sağdan sola doğru gösterilen değerleri kulla- narak mantis'i hesaplayalım. mantis— (((1/256 —- 0)/256 4 0)/256 * 192)/256 veya mantis — 1/256t 4 192/256 — 1/4294967296 4 192/256 — 0.750 000 000 233 Sonra bu mantis'i 3. kuvvetinde olan 2 ile çarpalım. sonuç — 0.750 000 000 233 *23 — 6. 000 000 001 86 — 6 (9 önemli basamağa kadar yu- varlak halde) Diğer sayılarla da denemeler yapa- rak BASIC dilinin iç matematik ya- pısını daha iyi ve daha etraflıca an- layacaksınız. Artık bu değerleri prog- ramda eneyerek neden 1.70141183E38'in mümkün en büyük ve 2.93873588E-39'un en küçük de- Ber olduğunu görebilirsiniz. Bir da- ha sefere birisi size bilgisayarların as- la hata yapmadığını söyleyecek olur- sa, ona ilk örneğimizi gösterin ve ne- den bilgisayarın 36'nın karekökünün 6'ya eşit olmadığını düşündüğünü an- latın. Eğer onların sınırlamalarını bil- mez ve çalışma prensiplerini anla- mazsak bilgisayarlar şüphesiz hatalı duruma düşeceklerdir. FLOATING-POINT BİR. SAYIYI BİLGİSAYAR İÇİNDE SAKLANDIĞI ŞEKLE ÇEVİRME 10.234 sayısını alalım. Bu değerin floating-point karşılığını şu şekilde hesaplayabilirsiniz: 1. Bölüm 0.1 ile | arasında olana kadar değeri 2'ye bölün: 10.234/2 — 5117 5.117/2 — 2.5585 2.5585/2 — 1.27925 1.27925/2 — 0.639625 Bu, 4 bölme işlemi aldığından üs değerimiz 4 olacaktır. Üssü 126- fazlası düzenine çevirin: Üs— 4 4 128 — 132 2. Son bölümü 256 ile çarpın: 0.639625*256 — 163.744 Mantis'in EÖB'ı olarak bu sayının tamsayı kısmını (163) alın. Ancak ön- ce 128 çıkartın (çünkü 128'den büyük ve orijinal sayımız olan 10.234 pozi- tif) Mantis EÖB — 163 - 128 — 35 3. Önceki sonucun kesirli kısmını alın (0.744) ve 256 ile çarpın: 0.744*256 — 190.464 Mantis'in sonraki EÖB'ı bu sonu- cun tamsayı kısmıdır. Mantis bayt 2 — 190 4.3.adımı mantis'in son iki değe- rini bulmak için iki kez daha tekrar edin: Ü.464 * 256 — 118.784 Mantis bayt 3 — 118 0.784 * 256 — 200.704 Bu son değeri en yakın tam sayı olan 201 ile yuvarlak hale getirerek mantis'in çömez bitini elde edin. Mantis ÇB -— 201 5. 10.234 sayısı bilgisayarda aşağı- daki gibi saklanacaktır: 132 35 190 118 201 Bu sonucun sağlamasını yazının sonundaki programla yapabilirsiniz. PROGRAM ADI £ FP CEVİRİCİ 98300 REM zsszzszz SAKLANAN DEGERLERDEN FLOATİNG-POİNT'E #ss<zzzz <163> A0a10 PRİNT "<OLROFLOMATİNG-POİNT CEVİRİCİ 80310 PRİMT :PRİNT "<MOO DEGİSTİRMEK İCİN sı" Ba3) H CİKMAK İCEN G TÜUSLARINA BASINI" <eaa> 90015 PRİNT "scsasazazazaaneazaaEzNzLA <t1de> — Bezaa PRİNT " SAKLANAN 5 DEGERİ GİRİN c8- AdAS9 KOSSORC3SİİREM KO İLK DEGİSKEN OLM 255) <831> <Ba0> — 00336 INPUT "İLK DEGER"İNİSİVİSVALINIS) — <2ag)> 00030 SP$-"(395PACE )" *CHRSC13) 216> — 003d0 IF Xi$Hs"K" THEN PRİNT "<3UP>"1SPSİ a90dA DEF FNPTRCMD-PEEK(M)*2SEAPEEKCM*Lİ) <ime> SPSSPS " C4UP)"1GOTO 218 <193)> Bd068 FA-O:TR-NOT FANCEASFA <e13> — M0350 IİF X1$-"G" THEN END <alıa> 900780 1IF FRECO)SFRECİ) THEN CE4-TRUE <ıisa)> — 00360 INPUT "İKİNCİ DEGER"İKESİ VEsVALIM g0980 VPs47t:IF CE4 THEN VP-451 REM DEGİ e$) <108> SKEN BASLANGIC POİNTER'İ <875> — 00370 INPUT "UCUNCU DEGER"İX3$ı C3sVALIK BA090 SV-FNPTRCVPOİREM DEGİSKEN BASLANGI 3$) <asa> CI <157> — 00380 İMPUT "DORDÜNCÜ DEGER"İXASİ VasVAL B0100 SİSSVtENSPSSU*3ISIASVAİISAESUA5ISEz < ) <a36> “ SV46:REM KRA'IN SAKLANDIĞI ALAN <o24> — 08390 İNPUT "BESİNCİ DEGER" KSS VSSVALIK 9O118 IF HOT C&4 THEN BANKİI <837)> 5$t) aaa> gözda REM azezazaz FLORATING-POİNT'TEN SA 909400 POKE Siİ,Vİ:POKE Sö,V2:POKE 53,V31Po KLANAN DEGERLERE #e-zzsez <Ba39)> KE 54,VA:POKE 55,V5 <B29> BO210 PRİNT "CMOD DEGİSTİRMEK İCİN KI CİK 80410 GOSÜB 1818 <1da> MAK ICİN G TÜSLARINA BASIN)" <a24> — aodaaza GÜSÜB 318 aa> go220 PRİNT "FLOATİNG-POİNT DEGERİNİ GİRİ 910980 REM szaza HESAPLAMA s-sez <0539> Nosr <B75)> — gl01 PRİNT V: Va Var Vdi VS <aar> gz25 IİNPUT XSTİF M&-"" THEN &BAA <215> 01020 REM -- US, MANTIS, İSARET -- <aa7> 00230 I1F X$£-"0" THEN ENOD (B17> — ölea30 Üssevi-ize <136)> 00246 IF X&4"X" THEN PRİNT "<3UP)"İSPSİSP Blddö Mle (( (VSZESE *VA ) /2564V3)/2S6*(128 KP" C3UP)"t60TO 218 <175> OR Va))/ase çıaei> GOZ5O KOSYALIKM) <107) — gle5e SNs-1:1F Vö)si2S THEN SN<-1 (a53> g0260 VİSPEEKCS1)1 VEsPEEK (S2) 1V3sPEEK (S3 B1068 PRİNT "<RVSON>) " F SNAMNI " <RVSOFF OK2t YEV4ASPEEK (54)1VS-SPEEK (S55) <035> <RVSON>"I USi "<RVSOFF) a <RVSON) "? g90270 GOSÜB 1018 <Baa4> XOz " ERVSOFF)'"İPRİNT <196> Bo280 GOTO 218 <8234)> — 61670 RETURN <ila> 6Ü

Bu sayıdan diğer sayfalar: