EETE233 Mikrodenetleyiciler ArduIno ile Programlama

Slides:



Advertisements
Benzer bir sunumlar
Hazırlayan ve Sunan Ali Yasin Çakılcı HUNROBOTX
Advertisements

Fonksiyonlar.
Değişken , Veri Türleri ve Operatörler
JAVASCRİPT VERİ TÜRLERİ
Kontrol İfadeleri : 2.Kısım
C PROGRAMLAMA DİLİNE GİRİŞ
switch - case Yapısı Döngü Yapıları
Bölüm 2: Program Denetimi
VERİ TİPLERİ VE DEĞİŞKENLER
OOP4 LAB.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Yapısal Program Geliştirme – if, if-else
OPERATÖRLER.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
Operatörler ve Denetim Yapıları
BPR152 ALGORİTMA VE PROGRAMLAMA - II
ARDUINO İLE ANALOG ÇIKIŞ VERMEK
ARDUINO DİJİTAL PİN KONTROLÜ
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
ŞART İFADELERİ.
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Akış Kontrol Mekanizmaları
Kontrol Yapıları ve Döngüler
Çoklu dallanma seçimi: switch
JAVA’DA DÖNGÜLER.
ARDUINO RÖLE KONTROLÜ.
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
VERİ TİPLERİ VE DEĞİŞKENLER
PROGRAM DENETİM DEYİMLERİ
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Değerler ve Değişkenler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
BTP206– Görsel Programlama II
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
ARDUINO DİJİTAL PİN KONTROLÜ
ARDUINO DİJİTAL GiRİŞ KONTROLÜ
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
1 Değişken alanları Geçici değişkenler Birleşik ifadeler(bloklar) ve değişkenler Değişken Depolama Süresi ve Alanı –Local ve global değişkenler –Static.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
PHP'de Program Denetimi
İnternet Programlama - 2
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
ARDUİNO Arduino Eğitimleri Bölüm 6 Analog Giriş – Çıkış İşlemleri
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H04
Sayı Sistemleri.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
4- OPERATÖR – koşul - döngü Nesne Yönelimli Programlama - i
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bölüm 2: Program Denetimi
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Döngüler.
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Sunum transkripti:

EETE233 Mikrodenetleyiciler ArduIno ile Programlama Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu EETE233 Mikrodenetleyiciler ArduIno ile Programlama Konu : 3 Programlamaya Giriş

Değişkenler Girdiğimiz değerleri alan veya programla ilgili değerlerin atandığı veri tutuculara değişken diyoruz. Değişken tanımlarken, değişkene atanacak değer veya programdan gelecek değerin ne olduğuna göre değişken türü belirlenir.

Kullanılabilecek değişken türleri: İnt Boolean Char Float Double Örnek: İki tam sayıyı toplama yapmak için üç adet değişkene ihtiyaç vardır. int sayı1, int sayi2 ve int toplam

Değişkenler her yazım dilinde farklı syntax (sözdizimi) ile tanımlanmaktadır. Arduino programlarken kullanacağımız programlama dilinde yazım şu şekilde Eğer değişken tanımlandığı anda değer atamak isterseniz (Değişken türü) (Değişken adı) = (İlk değer); Eğer ilk değer atamak istemiyorsanız sadece (Değişken türü) (Değişken adı); şeklinde tanımlanmaktadır.

Türkçe karakter içermediği, Sayıyla başlamadığı, Değişken adını; Türkçe karakter içermediği, Sayıyla başlamadığı, Özel karakter içermediği, Aynı kod bloğundaki bir başka değişken adıyla aynı olmadığı sürece istenilen şekilde kullanılabilir.

Değişken sadece bir kez tanımlanır ve tanımlandığı aralıkta geçerlidir. Arduino için kullanacağımız programlama dilinde standart olarak 2 adet fonksiyon gelmektedir. Değişkenler eğer fonksiyon içerisinde kullanılırsa, yazıldığı fonksiyon içerisinde kullanılabilir. Diğer fonksiyondan bu değişkene erişim mümkün olmaz. Değişkene tüm programda erişilmesi istenirse, bu değişken bütün fonksiyonları üzerinde tanımlanması gerekmektedir.

Örnek: Değişken sadece fonksiyon içerisinde kullanılacak ise void setup() { int sayi; } void loop() { Değişken tüm program içerisinde kullanılacak ise

Değişken için global tanımlama yapıldığından programın her kısmında bu değişkene erişmek mümkün olmaktadır. Bir başka önemli konu ise değişken türü tutulacak değere göre değişmektedir.

Başlıca değişken türleri incelenecek olursa Int Boolean Char Float Double

int: Eğer değer olarak tam sayı tutacağınız bir değişken türü istiyorsanız ihtiyacınız olan şey int. -2,147,483,648 ’den 2,147,483,647 ’ye kadar değer alabilir. Eğer unsigned int (işaretsiz int) değişken türünü tercih edersek 0 ’dan 4,294,967,295 ‘e kadar bir değer atayabiliriz. Not: Unsigned int değişken türünde negatif sayı ataması yapılamaz int değişken türünün kullanıldığı yerlere en iyi örnek Arduino’da bulunan pinler olarak karşımıza çıkmaktadır. Çünkü Arduino’da digital pinler tam sayı ile ifade edilir. Bunun dışında genelde sayaç olarak döngülerde veya döngü dışında int değişken türü kullanılır.

boolean: Boolean türündeki bir değişken iki çeşit değer alabilir. True ve False yani Doğru Yanlış veya Evet, Hayır şeklinde veri tutmak istediğiniz işler için kullanılabilir. Örnek: Projede bir kapı kilidi yapıldı ve kapı kilitliyken kapının yanındaki ekranın kırmızı, kapı kilitli değilken ekranın yeşil yanması istenmektedir. Bunun için bir adet boolean değişkenine ihtiyaç vardır Boolean kapikilitlimi = false; şeklinde tanımlanıp ve kapı kilitlendiyse de kod kısmında bu değişkeni kapikilitlimi = true; olarak değiştirir. Kapı kilidini açtığınızda kod kısmında değişkene bu sefer kapikilitlimi = false; ataması yapılır. Sonuç olarak kapikilitlimi değişkeninin değerine göre ekranı yeşil veya kırmızı yaparak proje tamamlanmış olur

char Char türünden tanımlanacak bir değişken değer olarak bir karakter alabilir. Bellekte 1 byte’lık yer tutar. İçerisinde değer olarak A’dan Z’ye veya 0’dan 9’a kadar karakter tutabilir. Unutulmamalıdır ki 3 bile yazılsa bu değer karakter olarak tutulacağı için, bu değerler ile matematiksel işlem yapılamaz.

float Tam sayıların yanında ondalık sayıların da tutulabilmesi için gerekli değişken türü. Tam sayılarla birlikte ondalık sayıları da içeriyor ancak noktadan sonra sadece iki basamak barındırabiliyor. Örnek: Dijital bir termometre yapılıyorsa ve sensörün duyarlılığı 10C’den daha düşük ise float değişken türünün kullanılması gerekir. Int kullanıldığı zaman sensörden alınacak değer tam sayıya yuvarlanacağı için hassasiyet kaybı olabilir.

double Atmega tabanlı kartlarda bu değişken türü float değişken türünden farklı değildir. Float değişken türünden daha büyük sayı tutamaz. Ancak yazdığınız programı başka bir programlama diline taşırsanız, bu değişken türü float değişken türüne göre farklılık gösterebilir.

Tipi Sınırları Varsayılan Değer boolean True veya False False byte 0 – 255 char U +0000 ile U +ffff ‘\0’ decimal (7.9 x 1028 ile 7.9 x 1028) / 100’den 28’e 0.0M double (+/-) 5.0 x 10-324 ile (+/-) 1.7 x 10308 0.0D float -3.4 x 1038 ile + 3.4 x 1038 0.0F int -2,147,483,648 ile 2,147,483,647 long -923,372,036,854,775,808 ile 9,223,372,036,854,775,807 0L sbyte -128 ile 127 short -32,768 ile 32,767 uint 0 ile 4,294,967,295 ulong 0 ile 18,446,744,073,709,551,615 ushort 0 ile 65,535

Operatörler Programlama esnasında aritmetik karşılaştırma ve mantıksal operatörlere ihtiyaç duyulur Programın karar vermesi gereken yerlerde kullanılırlar Program akışını koşullara göre istenilen şekilde devam ettirilir Operatör Açıklama ++ Bir arttır -- Bir azalt + Topla - Çıkar * Çarp / Böl % Mod Al

Örnek Programımızda int türünden x isimli bir değişkenin değerine beş eklemek istiyorsak x = x + 5; şeklinde matematik operatöründen faydalanarak bu işlem yapılabilir. Programımızda yanan led’lerin sayısını tutmak istenilen int türünden yananledsayisi isimli bir değişken olsun. Her led yandığı zaman program içerisinde yazılması gereken; yananledsayisi++; Her led söndürüleceğinde program içerisinde; yananledsayisi--; şeklinde ifade yazılması gerekir.

Karşılaştırma Operatörleri Program yazarken iki veriyi birbirleriyle kıyaslayıp farklı işlemler yaptıracak olduğumuz durumlarda ihtiyaç duyulan operatörlerdir. Operatör Açıklama == Eşitlik durumunda != Eşit değil < Sol küçük sağdan > Sol büyük sağdan <= Küçük eşit >= Büyük eşit

Örnek Bir park sensörü yapılmak isteniyorsa ve aracın arkasındaki mesafe 100 cm veya daha az olduğunda bir uyarı sesi çalınmak isteniyorsa, sensörden ölçüm yapıp mesafe değerini atadığınız int türündeki değişkenin isminin de kalanmesafe olduğu varsayılırsa; if (kalanmesafe <= 100) { } şeklinde bir ifade kullanılması gerekir.

Mantıksal Operatörler Birden fazla koşula ihtiyaç duyuluyorsa bu operatörler kullanılır. Operatör Açıklama && Kısa devre ve || Kısa devre veya & Uzun devre ve | Uzun devre veya ^ Dışarmalı ! Değilleme

Arduino ile Led Yakma Bu uygulamada ihtiyaç duyulan baz şeyler listelenmiştir. Arduino Uno 1 adet 220 Ohm Direnç 1 adet Led

Devrede de görüldüğü gibi led’imizi arduino’nun 4 bacağına bağlı, akım sınırlaması yapılabilmesi için de led’e 220 ohm’luk bir direnç seri olarak bağlanmıştır. Devrede dikkat edilmesi gereken şey eğer analog değer göndermek yani led’inizin parlaklığını kendiniz ayarlamak istiyorsanız PWM özelliği olan digital pinleri kullanılabilir (3,5,6,9,10,11 nolu bacaklar). Bu devrede digital değer gönderileceği için PWM özelliği olmayan bir digital pine takılmıştır.

Yazılması gereken program aşağıdaki gibidir void setup() { pinMode(4,OUTPUT); } void loop() { digitalWrite(4,HIGH); Void setup fonksiyonu bir kez, void loop fonksiyonu ise güç kesilinceye kadar çalışır.

Program yazarken öncelikle, kullanılacak tüm digital pinler output(çıkış) mu yoksa input(giriş) olarak mı kullanılacak void setup kısmında yazılmalıdır. Bu devrede led’e güç verilmesi gerektiği için bir çıkış işlemi yapılması gerekmektedir. Bu işlem için; pinMode(4, OUTPUT) yazılması gerekmektedir. Loop döngüsünün içerisine baktığımızda digitalWrite(4,HIGH) komutu ise 4 numaralı digital pine güç vermemizi sağlayan komut.

Led’i çalıştırdıktan sonra söndürmek için de daha önce yazdığınız programa ek olarak loop fonsiyonuna yazılması gereken komut; digitalWrite(4,LOW); Bu komut ile programınız; void setup() { pinMode(4,OUTPUT); } void loop() { digitalWrite(4, HIGH);

digitalWrite(4,LOW) komutu ile 4 nolu pin’den gücü kestiğiniz için led sönecektir. Ancak Arduino çok hızlı çalıştığından dolayı insan gözü bu yakma söndürme hızını yakalayamaz. Bunun için yapılması gereken bu yanma ve sönme sürelerini uzatmak Bunun için; void setup() { pinMode(4,OUTPUT); } void loop() { digitalWrite(4,HIGH); delay(300); digitalWrite(4,LOW);

Böylelikle led’in yanma ve sönme durumları izlenebiliyor Böylelikle led’in yanma ve sönme durumları izlenebiliyor. Burda delay fonksiyonu ekleyerek bu işlem gerçekleştirildi. Delay fonksiyonu geçici olarak programı durdurmak için kullanılanır. Aldığı parametre cinsi milisaniye tipindedir. Yani delay fonsiyonunda parantez için kaç yazılırsa o kadar milisaniye program duracaktır. Örnek; delay(300); //program 300 milisaniye duracaktır

Karar yapıları Program içerisinde karar verme işlemlerini gerçekleştirmek için kullanılan komutlar. IF : Program içerisinde bir koşulun doğruluğunu kontrol eden komuttur. Eğer koşul sağlanıyorsa if bloğu içerisinde yer alan kodlar işleme alınır, eğer koşul sağlanmıyorsa bu kez if bloğundan sonra gelen kodlarla devam edilir. Bu komutta koşul parantez içine yazılır.

Koşullar: ==  iki değerin birbirine eşit olması koşulu !=  iki değerin birbirine eşit olmaması koşulu <  soldaki değerin sağdaki değerden küçük olması koşulu >  soldaki değerin sağdaki değerden büyük olması koşulu <=  küçük eşit olması koşulu >=  büyük eşit olması koşulu

If komutu kullanım şekli if(koşul) { Koşulun doğru olması durumunda yapılacak işlemler }

Örnek: int hizim=0; int hizsiniri=80; if(hizim<hizsiniri) { hizim++; } Buradaki basit kodda görüleceği gibi, eğer aracınız hızı hız sınırının altında ise aracınız hızlanmaya devam edecektir. Buna ek olarak eğer trafik polisi olduğunuzu ve ceza kesmek için Cezakes fonksiyonu da programa eklenebilir

Cezakes fonksiyonu eklenmiş program kodu aşağıdaki gibi olur Cezakes fonksiyonu eklenmiş program kodu aşağıdaki gibi olur. Buradaki fonsiyonda eğer aracın hızı, hız sınırından büyük ise araç süratli gidiyor demektir ve trafik polisi bu araca ceza kesebilir. if(arachizi>hizsiniri) { Cezakes(); }

Buraya kadar koşulun sağlanması halinde yapılacaklar gösterildi Buraya kadar koşulun sağlanması halinde yapılacaklar gösterildi. Şimdi de eğer koşul sağlanmazsa yapılacakların nasıl olduğunu görelim if(koşul) { koşulun doğru olması durumunda yapılacak işlemler } else koşulun yanlış olması durumunda yapılacak işlemler

Buna da bir örnek verecek olursak int hizim=0 int hizsiniri=80; if(hizim!=hizsiniri) { hizim++; } else hizim--;

Switch-case Diğer bir karar verme komutumuz, if’den farklı olarak değişken türünün ne olduğuna bakmaksızın, değişkenin içeriğine göre hareket eden bir karar verme komutudur. Değişken parantez içine yazılıyor. Fakat bu kez herhangi bir koşul yazılmıyor. Case kısmında, eğer değişken içerisindeki değer yazılan case bloklarından herhangi birinde ise o case bloğundaki kod işletilip diğer case blokları atlanarak program kaldığı yerden devam eder.

Örnek: switch (degisken) { case 1: CizgiIzleyen(); break; case 2: int degisken; switch (degisken) { case 1: CizgiIzleyen(); break; case 2: EngeldenKacan(); case 3: YanginSonduren(); default: MerdivenCikan(); }

Switch-case bloğunun sonunda yer default ise eğer değişken içerisindeki değer herhangi bir case ile eşit değilse, program yoluna default bloğunda bulunan kodlarla yoluna devam eder.

Diziler Aynı tipte birden çok değişkeni veri olarak elimizde tutmak için kullandığımız yapılardır. Örnek: Yılın ayları: Değişken olarak tanımlayacak olsan 12 adet değişken yaratmamız gerekirdi. Oysa string aylar[12] diye bir tanımlama yaparsak elimizde 12 tane değişkenimizin olduğu aylar adında bir dizimiz olur.

Diziler 0 indisli başlar. Dizi tanımlarken (değişken türü) (dizi adı)[(eleman sayısı)] şeklinde tanılanır Örnek: string aylar[12]; aylar[0]="Ocak"; aylar[5]="Haziran"; aylar[10]="Eylül"; aylar[1]="Şubat"; aylar[6]="Temmuz"; aylar[11]="Ekim"; aylar[2]="Mart"; aylar[7]="Haziran"; aylar[10]="Kasım"; aylar[3]="Nisan"; aylar[8]="Temmuz"; aylar[11]="Aralık"; aylar[4]="Mayıs"; aylar[9]="Ağustos";

Döngüler For: Eğer bir işlemi bir kere değil de sayısını bildiğiniz kadar yapmak istiyorsanız yani yapılacak işlemi x kere tekrar ettirmek istiyorsanız ihtiyacınız olan şey bir for döngüsüdür. Döngü 3 parametre alır; İlk parametre sayaç değişkeni İkinci parametre koşul Üçüncü parametre ise blok işledikten sonra yapılacak işlemdir

Örnek: 0 ile 100 arasındaki sayıları ekrana yazdıralım for(int sayi=1; sayi<100; sayi++) { Serial.println(sayi); } Dizilerdeki örneğimizden yola çıkarsak, ayları bir dizide tanımladık ve alt alta ekrana yazdırmak istersek; for(int i=0; i<12; i++) Serial.println(aylar[i]);

While Eğer bir işlem tekrar tekrar yapılmak isteniyorsa ve bu işlemin süresi "e kadar" ya da "boyunca" gibi ifadelerle tanımlanıyorsa kullanılması gereken bir while döngüsüdür. While komutu yazıldıktan sonra iki parantez arasına koşulu yazarsınız, koşul sağlandığı sürece while döngüsü içinde yer alan kodlar tekrar tekrar işletilir

Örnek Yangın alarmı yapılmak isteniyor ve sensör ateş algıladığı sürece alarm vermeniz gerekiyor. Programın kodları: int ates; ates= digitalRead(8); while (ates==1) { Serial.printl("Yangın var !"); }

Do-While Bu döngü while döngüsünün aksine önce kodu işletip sonra koşulu sorgular. While döngüsünde verdiğimiz örnekte yangın sinyali geldikten sonra döngüye giriyor ve yangın var yazmaya başlıyordu. Do-While döngüsünde ise önce işlem yapılır sonra koşul yapılır, koşul sağlanıyorsa işlem tekrar tekrar yapılır.

Örnek Bir atletizm yarışmasında olduğunuzu varsayarak yapacağınız ilk şey koşmaktır. Finish çizgisini geçene kadar sürekli koşarsınız. Bu durumda kodunuz, do { Kos(); }while(finishcizgisigecilmedi==true)

Continue Continue bir döngü değildir, döngülerde kullanılan bir atlatma deyimidir. Bu deyim döngüde yazıldığı yerden sonrasının işletilmeden devam edilmesini sağlayan deyimdir.

Örnek For döngüsü ile 0 ile 100 arasındaki sayıları ekrana yazdırıyorsunuz. Ancak 55 yazılmasını istemiyor, 55’e gelindiğinde atlanmasını istiyorsunuz. Bu durumda kodunu, for (int i=1; i<100; i++) { if(i=55) continue; } Serial.println(i);

Sayı Sistemleri Bilgisayar dünyasında sadece 2 sayı kullanılmaktadır. Bunlar 1 ve 0 dır. Bilgisayarda gri alanlar yoktur, siyah ve beyaz vardır. Bilindiği üzere farklı tabanlarda sayı sistemleri mevcuttur ve biz günlük hayatımızda onluk tabanı yani desimal sayı sistemini kullanırız Desimal sayıları sembolize etmek için 10 adet sayı kullanılır. Desimal sayılar dışında ikili sayı sistemi ve on altılı yani heksadesimal sayı sistemleri vardır

Bu sayı sistemlerinin dışında eskiden kullanılan sekizli yani octal sayı sistemi kullanılmıştır. İkili sayı sisteminde iki adet sayı bulunmaktadır. 0 ve 1 On altılı sayı sisteminde ise toplam 16 adet sayı bulunmaktadır. Bunlar 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Sayılar elektronik olarak nasıl temsil ediliyor Elektronik devrelerde 2V ile 5V arası bir gerilim uygulanırsa bu ikili sayı sisteminde 1 demek olacaktır. Eğer gerilim uygulamaz yada 0.8V değerine kadar gerilim uygularsanız, bu ikili sayı sisteminde sıfır demek olacak.

Sayı dönüşümleri İkili sayı sistemindeki bir sayıyı onluk sayı sistemine çevirmek istenirse, yapılması gereken işlem; En sağdan iki üssü sıfır değeri ile başlayarak sola doğru her basamağı, basamak atlarken üssü bir artırarak ikiyle çarpmak ve elde edilen tüm değerleri toplamak

Örnek (1011)2 sayısını çevirirken; Sağdan başlayarak 1x20 = 1 1x21 = 2 0x22 = 0 1x23 = 8 8+0+2+1= 11

Örnek Onluk sayı sistemindeki bir sayıyı ise sürekli ikiye bölerek ve en son bölme işlemindeki bölüm değerini de işleme katarak, sayı ikili sayı sistemine çevirebilir

Bu iki sistemin birbirine dönüşümüne oranla, on altılı sayı sistemiyle ikili sayı sistemini birbirine çevirmenin çok daha kolay bir metodu vardır. Bir sayı sisteminde alınabilecek maksimum değer sayısı taban üssü basamak sayısı formülü ile bulunabilir. Ör: 20=1 farklı değer 22=4 farklı değer

On altılık sayı sistemindeki bir sayıyı ikili sayı sistemine çevirmek için, her bir basamağı dört basamaklı olacak şekilde ikili sayı sisteminde yazılması yeterli olacaktır. Ör: (73)16= 7  (0111)2 3  (0011)2

İkili sayı sisteminden on altılı sayı sistemine çevirmek istiyorsak, sağ taraftan başlayarak ikili sayı sistemindeki sayıyı dörderli gruplara ayırarak ve her dörtlüyü ayrı ayrı on altılı sayı sistemine çevirip yazarak ikili sayı sisteminden on altılı sayı sistemine geçmiş olunur. Ör: (10110110)2 (11010010101)2 B 6 6 9 5