C'de Decimal'ı Binary'ye Dönüştürme

C De Decimal I Binary Ye Donusturme



Bilgisayar sistemleri, verileri ve talimatları temsil etmek için sıklıkla ikili sayılar kullanır, ancak ondalık basamaklar insanların anlaması için ikili sayılara göre daha basit olduğundan, dönüştürme gereklidir. Bu makale, ondalık sayıları ikili sayıya dönüştürme anlayışını ele alacak ve C adlı programlama dilinde ondalık sayıları ikili sayıya dönüştüren farklı yöntemlerin program örneklerini sağlayacaktır.

C'de Decimal'ı Binary'ye Nasıl Dönüştürürüz?

Verilen ondalık değer birkaç kez 2'ye bölünür, kalan son bölüm olarak 0'a gelene kadar kaydedilir. Bu işlem, tamsayıları ondalıktan ikiliye dönüştürmek için kullanılır. Ondalıktan ikiliye dönüştürme sürecini gösteren formül aşağıdaki gibi aşamalar olarak kabul edilir:







Aşama 1: Sayıyı 2'ye bölerek kalanı bulun, ardından bir diziye ekleyin.



Adım 2: Ardından, kalanı ikiye bölün.



Aşama 3: Sonuç 0'ı geçene kadar ilk iki adımı tekrar uygulayın.





Adım 4: Sayının ikili formunu elde etmek için diziyi geriye doğru görüntüleyin. Bir ikili sayının En Az Önemli Biti (LSB) en üstte yer alırken, En Önemli Biti (MSB) en alttadır, bu da bunu yorumlamanın başka bir yoludur. Sağlanan ondalık sayının ikili eşdeğeri budur.

Bunu daha iyi kavramak için,  11'lik bir dönüşüm 10 ondalıktan ikiliye dönüştürmede:



2'ye bölme bölüm kalan
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Şimdi, kalanı ters sırada yazın, dolayısıyla ondalık (11) 10 ) olur (1011 2 ).

Kalan not edilecek ve sonra ikili sayının (MSB)'si önce gelecek şekilde yazılacak, sonra gerisi gelecek. Sonuç olarak, 1011 2 verilen ondalık değerin ikili eşdeğeridir 11 10 . Sonuç olarak, 11 10 = 1011 2 . Aşağıda, yukarıda belirtilen ondalık sayının C dilinde ikili dönüşüme uygulanması yer almaktadır.

Decimali Binary'ye Çevirmek İçin Kullanılan Yöntemler

C dilinde kullanılan bu yöntemler ondalık basamakları ikiliye dönüştürür:

Şimdi, yukarıda belirtilen yaklaşımlarla ondalık sayıların ikili sayılara dönüşümünü birer birer uygulayın.

Yöntem 1: for Döngüsü ile C Programlamasında Ondalıktan İkiliye

Ondalık basamağın(11) C'de for-loop yardımıyla ikiliye dönüştürülmesi aşağıdadır:

#include
geçersiz dönüştürmek ( int sayı1 ) {
eğer ( sayı1 == 0 ) {
printf ( '0' ) ;
geri dönmek ;
}
int ikili_sayısı [ 32 ] ; // varsayarak 32 bit tamsayı.
int Ben = 0 ;
için ( ;sayı1 > 0 ; ) {
ikili_num [ ben++ ] = sayı1 % 2 ;
sayı1 / = 2 ;
}
için ( int j = ben- 1 ; J > = 0 ; J-- )
printf ( '%D' , ikili_sayısı [ J ] ) ;
}
int ana ( ) {
int sayı1;
printf ( 'Bir ondalık sayı girin: ' ) ;
taramak ( '%D' , & sayı1 ) ;
dönüştürmek ( sayı1 ) ;
geri dönmek 0 ;
}


Yukarıdaki program, kullanıcı tarafından sağlanan ondalık sayıyı ikili sayıya dönüştürmek için for döngüsünü kullanıyor. Çıktı:

Yöntem 2: While Döngüsü ile C Programlamasında Ondalıktan İkiliye

Bu yöntemde, C'deki while döngüsü, aşağıda gösterildiği gibi ondalık basamağı (11) ikili sayıya dönüştürmek için kullanılır:

#include
int ana ( ) {
int ondalık_sayısı, ikili_sayısı = 0 , taban = 1 , kalan;
printf ( 'Bir ondalık sayı girin: ' ) ;
taramak ( '%D' , & ondalık sayı ) ;
sırasında ( ondalık sayı > 0 ) {
kalan = ondalık sayı % 2 ;
ikili_num = ikili_num + kalan * temel;
decimal_number = decimal_number / 2 ;
taban = taban * 10 ;
}
printf ( 'While döngüsü ile verilen ondalık sayının ikili değeri: %d' , ikili_sayısı ) ;
geri dönmek 0 ;
}


Dört tamsayı değişkeni decimal_num, binary_num, base ve kalan ilk olarak bu programda bildirilir. Kullanıcı, ikili_sayısına dönüştüreceğimiz bir ondalık_sayısı girer. İkili dönüştürme, while döngüsü kullanılarak gerçekleştirilir.

Yöntem 3: Yığınla C Programlamasında Ondalıktan İkiliye

Bu, bir ondalık değeri ikili sayıya çeviren yığın tabanlı bir C programıyla kullanılan basit yöntemdir:

#include

#define MAX_SIZE 32 // ikili gösterimde maksimum bit sayısı
int ana ( ) {
int ondalık_sayısı, ikili [ MAX_SIZE ] , üst = -1 ;
printf ( 'Lütfen herhangi bir ondalık sayı girin: ' ) ;
taramak ( '%D' , & ondalık sayı ) ;
sırasında ( ondalık sayı > 0 ) {
ikili [ ++üst ] = ondalık sayı % 2 ;
ondalık sayı / = 2 ;
}
printf ( 'Yığın yöntemini kullanan %d'nin ikili dosyası: ' ) ;
sırasında ( tepe > = 0 ) {
printf ( '%D' ikili [ tepe-- ] ) ;
}
geri dönmek 0 ;
}


İlk önce bu programda üç tamsayı değişkeni olan top, binary ve decimal_num'u bildiririz. Top, yığındaki en yüksek elemanın indeksidir, ondalık, kullanıcı tarafından girilen ondalık biçimdeki sayıdır, ikili, ikili içindeki bitleri MAX_SIZE bit olarak içerecek bir dizi ve decimal_num ikili dizidir. Bundan sonra, bir while döngüsü kullanılarak ikili dönüştürme gerçekleştirilir.

Çıktı:

Yöntem 4: Bitsel Operatörle C Programlamasında Ondalıktan İkiliye

Bitsel işlem olarak bilinen bir operatör, tamsayıları temsil eden ikili sembollerin bitlerinin her birini manipüle eder. Aşağıdakiler, ondalık basamaklardaki bir sayıyı ikili sayıya çevirmek için bitsel işlemleri kullanan temel bir C betiğidir:

#include

// Bu yöntem tüm gösterecek 4 bir sayının bitleri
geçersiz dönüşüm ( int sayı1 ) {
// düşünün 4 -bit sayısı
için ( int ben = 3 ; Ben > = 0 ; Ben-- ) {
int biti = ( 1 << Ben ) ;
eğer ( sayı1 & biraz )
printf ( '1' ) ;
başka
printf ( '0' ) ;
}
}
int ana ( ) {
int sayı1;
printf ( 'Bir ondalık sayı girin: ' ) ;
taramak ( '%D' , & sayı1 ) ;
dönüştürmek ( sayı1 ) ;
geri dönmek 0 ;
}


Bu program, en önemli bitten başlayıp en az anlamlı bitte biten sayı boyunca bir for döngüsü yürütür. Mask ve num üzerinde “bitsel AND” işlemi gerçekleştirerek, bitin 0 mı yoksa 1 mi olduğunu belirleyebiliriz. Sıfır değilse, mevcut bit 1'dir; aksi halde 0'dır.

num1'in ikili biçimini göstermek için, her yinelemeden sonra bitin çıktısını alın. Tamamlandıktan sonra nihai çıktı aşağıdaki gibi olacaktır:

Çözüm

Sayıları ondalıktan ikiliye dönüştürmek bilgisayar programcılığında temel bir beceridir. Ondalık sayıları ikiliye dönüştürmek, C programlamasında farklı işlemler yapmamızı sağlar. Bu makale, ondalık değerleri ikili değerlere dönüştürmek için 4 yöntem sağladı.