Bugün C dilinde sayıları ikilik tabanda yazdırma örneğini inceleyeceğiz. Bilgisayar ve bilgisayar programlama dillerinde dört farklı sayı sistemi kullanılmaktadır:
- Onlu (Decimal) sayı sistemi
- İkili (Binary) sayı sistemi
- Sekizli (Octal) sayı sistemi
- On altılı (Hexadecimal) sayı sistemi
Sayı sistemlerini ifade eden değerler, söz konusu sayı sisteminde kullanılan rakam sayısını göstermektedir. Örneğin, sekizli sayısı sistemi, bu sistemde 8 adet rakam kullanıldığını ifade etmektedir.
Sayı sistemlerinde kullanılan rakamlar aşağıda gösterilmektedir:
İkili (Binary) Sayı Sistemi : 0 1 Sekizli (Octal) Sayı Sistemi : 0 1 2 3 4 5 6 7 Onlu (Decimal) Sayı Sistemi : 0 1 2 3 4 5 6 7 8 9 Onaltılı (Hexadecimal) Sayı Sistemi : 0 1 2 3 4 5 6 7 8 9 A B C D E F
- Hangi sayı sistemi olursa olsun, elimizdeki sayının onlu sayı sistemine göre değerini hesaplamak için, her basamakta yer alan rakamın, sayı sisteminin rakam sayısı üzeri rakamın bulunduğu basamak sırası ile çarpımlarıyla elde edilen değerlerin toplamı alınır.
- 0 sayısı da dahil olmak üzere bütün sayıların 0’ncı üssü 1’e eşittir.
Onlu sayı sistemi
Günlük hayatımızda en çok kullandığımız sayı sistemi olup, bütün işlemler aşağıda gösterilen 10 adet rakam ile gerçekleştirilir:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
İkili sayı sistemi
Bilgisayarlar elektronik devrelerden oluştuğundan ikili (binary) sayı sistemini kullanırlar. Bütün işlemler aşağıda gösterilen 2 adet rakam ile gerçekleştirilir:
0, 1
Bu rakamlar elektronik devrelerde 0 için yanlış, 1 için doğru anlamına gelir.
- Bir ikili sistem sayısında her bir rakama “bit” adı verilir.
- 4 bit’den oluşan sayılara “nibble” adı verilir.
- 8 bit’den oluşan sayılara “byte” adı verilir.
- 2 byte’den oluşan sayılara “word” adı verilir (16 bit).
- 2 word’den oluşan sayılara “double word” adı verilir (32 bit).
- Bir sayının en sağında yer alan bit’e “alçak bit” (Low bit) adı verilir.
- Bir sayının en solunda yer alan bit’e “yüksek bit”(İşaret biti) (High bit) adı verilir.
Örneğin onluk tabandaki 13 sayını ikilik tabana çevirirsek:
1 x 101 + 3 x 100 = 1 x 23 + 1 x 22 + 0x 21 + 1 x 20
Şeklinde yazabiliriz. Yani
(13)10 = (1101)2 şeklinde yazılabilir.
Örneğin onluk tabandaki bir sayıyı :
0.123 = 1x 1/10 + 2x 1/100 + 3x 1/1000 şeklinde düşünebiliriz.
#include <stdio.h> #include <stdlib.h> int ikilik(int x) { int i,k[30]; i=0; while(x>=1) { i++; k[i]=x%2; x=x/2; } printf("Sayinin Ikilik Tabandaki Karsiligi:"); for(i=i;i>0;i--) printf("%d",k[i]); } int main() {int a; printf("Bir sayi giriniz:"); scanf("%d",&a); ikilik(a); getch(); return (0); }
C dilinde sayıları ikilik tabanda yazdırma örneğini sizler için paylaştık. Insertion Sort algoritması yani eklemeli sıralama için bu yazımızı dikkatle inceleyebilirsiniz.