Paylaşım Yap
Tüm Reklamları Kapat
Sorulara Dön
2

İkilik sistemi basitçe açıklayabilir misiniz?

İkilik sistemler hem kitaplar hem videolarda çok kolay olarak tabir edilse bile yazılıma yeni başlayan biri olarak benim henüz anlayamadığım bir konu. Yardımcı olursanız ve en basit haliyle anlatırsanız sevinirim.
558 görüntülenme
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Soruyu Takip Et
  • Raporla
  • Mantık Hatası Bildir
Tüm Reklamları Kapat
3 Cevap
Yalın İnce
Yazılım meraklısı

Öncelikle şu haberi vereyim ki siz hiçbir zaman ikilik sistemde kod yazmayacaksınız. İkilik sistem, evet-hayır, bir-sıfır gibi kodlardan oluşur. Bu kodlar ise bilgisayarın işlemcisinin temel parçası olan transistörler içindir. Transistörleri ise şöyle izah edeyim: Üç uçlarının bir tanesinden gelen akımı diğer bir uca iletmek için üçüncü ucundan elektrik gelmesi gerekir. Bu üçüncü uca elektrik gelip gelmeyeceği ise 1 ve 0 ile kodlanır.

Sizin yazacağınız Python, C++, C# gibi dillerdeki kodları ikili sisteme çeviren programlar mevcut. Ancak bu işe girmek istiyorsanız Oracle VirtualBox gibi bir Windows üzerinden Linux çalıştırma programını indirmenizi öneririm. Bu, hem kod yazmanızı, hem kodlarınızı derlemenizi, hem de kolay bir şekilde çalıştırabilmek izi sağlar.

Umarım yardımcı olabilmişimdir, iyi günler dilerim.

Tüm Reklamları Kapat

2
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Raporla
  • Mantık Hatası Bildir
Şahin Tutuş
Şahin Tutuş
60K UP
Elektronik teknisyeni

C dilini öğrenmeye gerek olduğunu düşünüyorum. Sanırım gömülü sistemler için yazılım yapacaksın. Gömülü sistem, kullandığımız cihazlar için olan yazılımlardır. Örneğin metrolardaki aburcubur otomatları. Parayı atarsınız, rakamı girersiniz ve ürünü alırsınız. Bunlar bilgisayarla değil, kendilerine özel yazılmış yazılımlarla çalışır.

Gömülü sistemi anladıysak bu yazılımlar nasıl oluyor biraz ondan bahsedelim. Aslında kendine has makine dili vardır fakat bu insanlar için anlaşılmaz. Bu yüzden bilgisayardaki not defterinde bile yazılabilen asm kodlama yapılır. Ama bu da karışıktır. Bu yüzden basic kodlama vardır. Ama bu da karışık gelebilir. Bu yüzden C kodlama yapılır. Aynı yazılımı asm, basic, c yapabilirsiniz size kalmış.

Peki bu gömülü yazılımlar neyle yapılır? Mikroişlemcilerle. Piyasada çeşit çeşit mikroişlemciler vardır. Pic, atmel, STM 32 ya da temeli atmel olan ardunio olabilir. Bunları bilmek için aynı zamanda elektronik de bilmelisiniz.

Tüm Reklamları Kapat

Peki mikroişlemciler nasıl çalışır? Öncelikle dahili veya harici osilatör devreleri vardır. Bu osilatör devreleri yazılım satır satır ilerlerken ne kadar hızda ilerleyeceğini belirler. Örneğin 1 megahertz bir osilatör demek, yazılımın satırlarının 10 mikrosaniyede bir alt satıra geçeceği demektir. Bu mikroişlemcinin hızı olmuş olur.

Mikroişlemcilerin en temel özelliği bacaklarının (yazının devamında pin olarak bahsedilecektir) giriş veya çıkış olarak ayarlanabilmesidir. Buton, anahtar, potansiyometre, sensör, ldr, ptc, ntc gibi şeyler giriş olarak ayarlanır. Led, motor, hoparlör, ekran gibi şeyler çıkış olarak ayarlanır.

Şimdi asıl konumuza dönelim. ikili sayılar. Yani binary sistemler. Gömülü yazılımlarda bacaklar (pinler) gruplanır ve port olarak adlandırılır. A portu, B portu, C portu gibi. Örneğin siz B portu çıkış olarak ayarlayabilirsiniz.

Diyelim ki B portumuzdaki ledlerin hepsini yakmak istiyoruz. B portumuzda 8 bacak var. O zaman 11111111 yapabiliriz. Ya da sağdan 3. Ledi yakmak istiyoruz sadece 00000100 yapabilirsiniz. Burdan şunu anlıyoruz. 1 elektrik var, 0 elektrik yok demektir. Her rakam 1 pindir.

Tüm Reklamları Kapat

Bizim onluk sayı sistemimize decimal denilir. 0 1 2 3 4 5 6 7 8 9 rakamları olur.

ikilik sayı sistemine ise binary denilir. 0 1 olur.

8'li sayma sistemine octal denilir. 0 1 2 3 4 5 6 7 rakamları olur.

16'lı sayma sistemine hexadecimal denilir. 0 1 2 3 4 5 6 7 8 9 A B C D E F rakam ve harflerinden oluşur.

Bu kadar detaylı yazmamın sebebi bilimsel hesap makinesinde bunları birbirleri arasında çevirebilirsin. Hesap makinesinde;

Decimal: DEC

Binary: BIN

Octal: OCT

Hexadecimal:HEX olarak yazacaktır.

Asıl konumuz olan Binary ile devam edelim. ikilik sayı sistemleri genelde yazılım içinde bacaklara elektrik ver ya da verme şeklinde kullanılır. ikinci olarak mantıksal işlemlerde kullanılır. 3. Olarak adresleme ve şifreleme işlemlerinde kullanılır. ilk kullanımı için yukarda örnek vermiştim. 00000010 gibi. ikinci pinde elektrik var diğerlerinde yok. Burada bir bilgiden daha bahsetmek istiyorum. 8 hane varsa bu rakamda biz diyebiliriz ki bu rakam 8 bitliktir. Kaç haneyse o kadar bitlik olur bilgi.

Tüm Reklamları Kapat

Mantıksal işlemler: Ve kapısı, Veya kapısı gibi işlemlerfir. Ve kapısı çarpma işlemini, Veya kapısı toplama işlemini ifade eder. Tabii ki başka birçok kapı var ama onlara değinmeyeceğim. Kapı denilen sistem şudur. Girişlerimdeki bacaklarda elektrik olup olmamasına göre çıkışta elektrik olup olmayacağını belirler. [1]

Ve kapısı: Bütün girişleri 1 olursa (elektrik varsa) çıkış 1 olur. Girişlerinden bir tanesi bile 0 (elektrik yoksa) ise çıkış 0 olur.

Veya kapısı: Girişlerden Herhangi birisi 1 ise çıkış 1 olur.

Tüm Reklamları Kapat

Değil kapısı: Giriş 1 ise çıkış 0, giriş 0 ise çıkış 1 olur.

Adresleme olarak kullanmak: Bazı protokoller var. Ben ana makinemden 25. Cihaz şu şu şu işlemleri yapsın diyebilirim. 25. Cihaz'a ben 25. Cihaz olduğunu tanıtmam gerekir. Bu cihazlarda ufak switchler olur. Hatta genelde 8'li olur bu ufak anahtarlar. İşte bu noktada bizim notmal sayıları binary sayılara çevirmemiz gerekebilir.

Öncelikle örnek saymayı yapayım.

0: 0

Tüm Reklamları Kapat

1: 1

2: 10

3: 11

4: 100

5: 101

6: 110

7: 111

8: 1000

Ben burda bit sayısını gerekli olduğu kadar kullandım. Ama kişi isterse 8 hanenin hepsini kullanabilir. Örneğin 8 decimal sayısı için;

8: 00001000 bu şekilde de yazılabilir.

Tüm Reklamları Kapat

Şimdi normal onluk sayılara nasıl çeviriyoruz ona bakalım. En sol taraftaki rakamdan başlayarak üzerine hayali rakamlar koyuyoruz. Bunlar;

64 - 32 - 16 - 8 - 4 - 2 - 1

0 - 0 - 0 - 1 - 0 - 0 - 0 şeklinde olacaktır. Görüldüğü gibi 8 hanesinin altında 1 var sadece. Şimdi 25. Adresimizi adreslemek için hangi anahtarları 1 yapmalıyız? 16, 8 ve 1 hanelerinin anahtarlarını 1 yaparsam 25 sayısını bulabilirim. Yani 0011001 böylece 3 haneyi topladığımda 25 sayısını bulabilirim. Artık cihazımı 25 olarak ayarladım. Bu sayede ana makineden 25. Cihaz şunları yapsın dediğimde, 25. Cihaz bilgilerin kendine geldiğini bilecektir.

Bunların haricinde şifreleme olarak da kullanımı var. Bcd kodlama gibi şeyler ama bunları bu aşamada öğrenmen gereksiz. Bunların yanısıra digit göstergelerde kodlamalarda kullanılabilir.

Kaynaklar

  1. lektrikport. Lojik Devreler (Kapılar) | Elektrikport Akademi. Alındığı Tarih: 13 Kasım 2022. Alındığı Yer: elektrikport | Arşiv Bağlantısı
2
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Raporla
  • Mantık Hatası Bildir
Tuğrul Gençoğlu
Yazılım Geliştirici

Her sayı sistemi rakamlardan oluşur. Örneğin günlük hayatta kullandığımız ondalık sayı sistemi 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rakamlarından oluşuyor. İkilik sayı sisteminin farkı ise sadece iki rakamdan oluşmasıdır. Bunlar 0 ve 1'dir. Her sayı sisteminde saymaya 0'dan başlanır ve sayarken 1 arttırılır ve her arttırımda bir sonraki rakama geçilir. Eğer hiç rakam kalmamışsa yeni bir basamak oluşturulur ve son rakama gelen basamak sıfırlanır. Örneğin onluk sistemde 9'a bir eklediğimizde elimizde başka bir rakam olmadığı için (en büyük rakam dokuz olduğu için) birler basamağını sıfırlayıp yeni bir basamak yaratırız ve 10 sayısını elde ederiz. Benzeri ikilik sistem için de geçerli. İkilik sistemin en büyük rakamı 1'dir. 1'e 1 eklendiğinde elde edecek daha büyük bir rakam olmadığından yeni bir basamak oluştururuz. Bu da 10 (bir sıfır, on değil!) olur. İkilik sistemler genellikle elektronik devrelerde, dijital işlemlerde kullanılır. Çünkü modern elektronikte devrede akımın olup olmamasını bilmek (sinyal var, sinyal yok) önemlidir. İkilik sistem bunun için güzel bir soyutlama sağlar. Sinyal var için 1, sinyal yok için 0.

1
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
  • Dış Sitelerde Paylaş
  • Raporla
  • Mantık Hatası Bildir
Daha Fazla Cevap Göster
Cevap Ver
Evrim Ağacı Soru & Cevap Platformu, Türkiye'deki bilimseverler tarafından kolektif ve öz denetime dayalı bir şekilde sürdürülen, özgür bir ortamdır. Evrim Ağacı tarafından yayınlanan makalelerin aksine, bu platforma girilen soru ve cevapların içeriği veya gerçek/doğru olup olmadıkları Evrim Ağacı yönetimi tarafından denetlenmemektedir. Evrim Ağacı, bu platformda yayınlanan cevapları herhangi bir şekilde desteklememekte veya doğruluğunu garanti etmemektedir. Doğru olmadığını düşündüğünüz cevapları, size sunulan denetim araçlarıyla işaretleyebilir, daha doğru olan cevapları kaynaklarıyla girebilir ve oylama araçlarıyla platformun daha güvenilir bir ortama evrimleşmesine katkı sağlayabilirsiniz.
Popüler Yazılar
30 gün
90 gün
1 yıl
Evrim Ağacı'na Destek Ol

Evrim Ağacı'nın %100 okur destekli bir bilim platformu olduğunu biliyor muydunuz? Evrim Ağacı'nın maddi destekçileri arasına katılarak Türkiye'de bilimin yayılmasına güç katın.

Evrim Ağacı'nı Takip Et!
Aklımdan Geçen
Komünite Seç
Aklımdan Geçen
Fark Ettim ki...
Bugün Öğrendim ki...
İşe Yarar İpucu
Bilim Haberleri
Hikaye Fikri
Video Konu Önerisi
Başlık
Gündem
Bugün Türkiye'de bilime ve bilim okuryazarlığına neler katacaksın?
Bağlantı
Kurallar
Komünite Kuralları
Bu komünite, aklınızdan geçen düşünceleri Evrim Ağacı ailesiyle paylaşabilmeniz içindir. Yapacağınız paylaşımlar Evrim Ağacı'nın kurallarına tabidir. Ayrıca bu komünitenin ek kurallarına da uymanız gerekmektedir.
1
Bilim kimliğinizi önceleyin.
Evrim Ağacı bir bilim platformudur. Dolayısıyla aklınızdan geçen her şeyden ziyade, bilim veya yaşamla ilgili olabilecek düşüncelerinizle ilgileniyoruz.
2
Propaganda ve baskı amaçlı kullanmayın.
Herkesin aklından her şey geçebilir; fakat bu platformun amacı, insanların belli ideolojiler için propaganda yapmaları veya başkaları üzerinde baskı kurma amacıyla geliştirilmemiştir. Paylaştığınız fikirlerin değer kattığından emin olun.
3
Gerilim yaratmayın.
Gerilim, tersleme, tahrik, taciz, alay, dedikodu, trollük, vurdumduymazlık, duyarsızlık, ırkçılık, bağnazlık, nefret söylemi, azınlıklara saldırı, fanatizm, holiganlık, sloganlar yasaktır.
4
Değer katın; hassas konulardan ve öznel yoruma açık alanlardan uzak durun.
Bu komünitenin amacı okurlara hayatla ilgili keyifli farkındalıklar yaşatabilmektir. Din, politika, spor, aktüel konular gibi anlık tepkilere neden olabilecek konulardaki tespitlerden kaçının. Ayrıca aklınızdan geçenlerin Türkiye’deki bilim komünitesine değer katması beklenmektedir.
5
Cevap hakkı doğurmayın.
Bu platformda cevap veya yorum sistemi bulunmamaktadır. Dolayısıyla aklınızdan geçenlerin, tespit edilebilir kişilere cevap hakkı doğurmadığından emin olun.
Ekle
Soru Sor
ve seni takip ediyor

Göster

Şifrenizi mi unuttunuz? Lütfen e-posta adresinizi giriniz. E-posta adresinize şifrenizi sıfırlamak için bir bağlantı gönderilecektir.

Geri dön

Eğer aktivasyon kodunu almadıysanız lütfen e-posta adresinizi giriniz. Üyeliğinizi aktive etmek için e-posta adresinize bir bağlantı gönderilecektir.

Geri dön

Close