Category: Genel
bemelab
C programı ile Sonsuz Bölme
Bu program ile 2 sayının bölümünü virgülden sonra istediğiniz kadar hesaplatabilirsiniz. Aşağıdaki programı devC++ ile çalıştırabilirsiniz. Program virgülden sonra 1000 basamak hesaplamaktadır, istediğiniz taktirde programdan yapacağınız değişiklikle basamak sayısını arttırabilirsiniz.
#include int main(){ int bnn,bln,sayac=0; printf("-HESAP MAKINESI-\n"); printf("Bolunen Giriniz: "); scanf("%d",&bnn); printf("Bolen Giriniz: "); scanf("%d",&bln); float temp; printf("\n %d.",bnn/bln); bnn=bnn%bln; while(sayacbln){ printf("%d",bnn/bln); bnn=bnn%bln; //printf(" -%d- ",bnn); } else{ bnn*=10; if(bnn<bln){ if(bnn%bln!=0){ printf("0"); } } //printf(" +%d+ ",bnn); if(bnn%bln==0 && !(bnn/bln!=0)){ printf("0"); } } } }

Buradaki bağlantıdan Full Precision Calculator’a erişebilirsiniz https://www.mathsisfun.com/calculator-precision.html.
Full Precision Calculator ile 1000 basamak hesaplatılmıştır. C programı ile karşılaştırmayı yapabilirsiniz.

Amstrad CPC ‘ler ile büyük sayıların çarpımı.
Amstrad CPC’ ler 8 bit olan Z80 mikroişlemcisi ile çalışmaktadır. Z80 nin keni içinde donanımsal çarpma işlemi yapan birime sahip değildir. Z80 8 biraz zorlarsak 16 bit toplama çıkarma 8 bit sağa sola kaydırma işlemleri yapabilmektedir. Tüm çarpma bölme algoritması yazılımsal olarak gerçekleştirilmektedir. Amstradların kendi ROM’ undaki ve Locomotif basic’ in kullandığı çarpa işlemininde sınırları vardır. Belli büyüklükte sayıların çarpımını artık tam sayı olarak değilde üstel olarak vermektedir. Amstrad ile çok büyük sayıların çarpımı yapacak BASiC dilinde yazılmış bir program buldum ve az bir düzenlmeyle Amtradlarda çalışır hale getirdim.
Aşağıda BASiC programı gerçek bir Amtsrad’ da veya herhangi bir Amstrad emülatörde deneyebilirsiniz.
100 REM DEFDBL A-H 110 REM 120 DIM A(1,31),B(63):H=100000000 130 CLS: 131 FOR I=0 TO 1:M=N:INPUT"* ";P$ 132 L=LEN(P$):N= INT(L/8):A(I,N)=VAL(LEFT$(P$,(L MOD 8))) 140 FOR J=1 TO N:A(I,J-1)=VAL(MID$(P$,L-8*J+1,8)): NEXT J:NEXT I 150 FOR I=0 TO M:E=A(0,I):FOR J=I TO I+N:F=B(J)+E* A(1,J-I) 160 G=INT(F/H):B(J+1)=B(J+1)+G:B(J)=F-G*H:NEXT J:NEXT I 180 PRINT:PRINT:L=M+N+(G=0):PRINT USING"**######";B(L+1);:FOR I=0 TO L 200 PRINT SPC(-((I MOD 9)<8));RIGHT$(STR$(B(L-I)+H ),8);:NEXT I:END


Retro Konsolların nirvanası efsane VECTREX
Bu VECTREX’ in peşinden abartısız bir 30 sene koşmuşumdur.
Eski teknolojiler eski chipler
Geçmişe yolculuğa başlamışken bugünden 25 sene önce mühendislik okurken 8085 mikro işlemcisi üzerine eğitim görmüştük teorik ve laboratuvar deneyleri zihnimde sanki dün o dersleri almışım sanki biraz önce makine dilimde kod (assembly ) ‘ de yazmışım gibi berraklığında hatırlıyorum. Bitirme projemi de 80’lerin ve 90’ların ortalarına kadar efsane işlemcisi olan 8 bit olarak çalışan muhteşem Z80 kullanarak sınıf arkadaşımla beraber yapmıştık. Projemiz kablosuz (wirelless) çalışan bir printer yapmaktı. Projeyi merak edenler Hacettepe Üniversitesi elektronik bölümünün kütüphanesinde belki bulabilirler, he şeyin arşivini tutmama rağmen proje bitirme tezinin bir kopyasını almayı unutmuşum ne olduğunu da tam hatırlamıyorum belki de kayboldu mezun olma heyecanı öne de çıkmış olabilir bilemiyorum. O günler mikroişlemciler ile bir uygulama geliştirmek çok zordu, imkanlar sonuna kadar zorlanıyordu pes neredeyse ettirecek derecede. O yıllarda 2 haftada kat ettiğiniz yolu şu anki mevcut mikrokontrolörler ile hadi bilemediniz 15 dk da kat ede biliyorsunuz. Hele şu Arduino mühendisliği çıkalı ne kadar büyük zulümler görmüşüz diye yanarım. Şu da bir gerçek bizler ateşin har, çekicin ağır olduğu dönemlerde dövüldük daha sabırlı mühendisler olarak yetiştik. Bu tür muhabbetleri her gün duyuyorsunuzdur fazlada uzatmayacağım.
Gelelim retrochiplere ve eski çağ elektroniğine . Bugün siparişini vermiş olduğum chipler elime geçti, aşağıda sipariş listesini görebilirsiniz. Bu listeye daha epey eklenecekler var . Daha önceki bloğumda da bahsettiğim gibi eski bilgisayar ve chiplerini bulmak epey zorlaştı. Yeni sipariş listemin tedarikini mouser, digikey ve aliexpress’ ten yapacağım. Bir Z80 mikroişlemcinin fiyatı İstanbul Karaköy elektronikçilerde 40 ila 200 TL arasında değişebiliyor.

Yukarıda gördüğünüz listedeki malzemeler ile kendi 8 bit bilgisayarımı yapmaya çalışacağım. Görünen o ki rövanş çok çetin geçecek
Send Your Name to Mars
Konya Mühendishane’ de
CCS PIC C ile hesap makinesi
Bu projede PIC ile hesap makinesi yapımından bahsederken, klasik bildiğimiz masaüstü hesap makinesi değildir.
Yapacağımız hesap makinesi PIC işlemciye hesaplanacak ifade seril porttan bir terminal yardımıyla girişi sağlanacak.
Matematiksel ifade ise pozitif tam sayılar olmak üzere parantezlide olabilecek.
YAzılan program bu matematiksel ifadeyi parantezleri ile değerlendirip işlem öncceliğini de dikkate alcaktır.
örnek olarak (1+4*(3+5)+(8*(3+2)) gibi bir ifadeyi hesaplayarak 73 sonucunu verecektir.
BU iş için kendi geliştirdiğim PIC işlemci kartını resimlerde görebilirsiniz, bu programı çalışıtrmak için kendi PIC inize uyarlamanız gerekecektir.
uyarlamadan derken FUSE ayarları ve seriport giriş pinleridir. Benim kartta işlemci PIC18F67K22 kullandım ve bu işlemciyi 64MHZ de çalışıtıyorum.
You must be logged in to post a comment.