9 Ocak 2013 Çarşamba

10'luk tabandaki sayıyı 2'lik tabana çeviren program


#include <stdio.h>
#include <conio.h>

main()
{
      int sayi, sayac,i ;
      int ikilik[100];
          printf("10'luk Tabaninda Sayi Giriniz : ");
          scanf("%d", &sayi);
          sayac=0;
        while (sayi>0)
        {
          sayac++;
          ikilik[sayac]= sayi % 2;
          sayi = sayi / 2;
        }
    for(i=sayac;i>0;i--)
          printf("%d", ikilik[i]);
}

5 Yorum:

saat: 18 Aralık 2013 00:31 , Blogger organik yaşam dedi ki...

arkadaşlar ben dizi bilmiyorum bunu özyinelemeli fonksiyon olarak nasıl yazarız

 
saat: 18 Aralık 2013 00:32 , Blogger organik yaşam dedi ki...

arkadaşlar hemen dönerseniz sevinirim

 
saat: 18 Aralık 2013 09:56 , Blogger Berk dedi ki...

#include

long toBinary(int);

int main(){

long binaryNo;
int decimalNo;

printf("Enter any decimal number: ");
scanf("%d",&decimalNo);

binaryNo = toBinary(decimalNo);
printf("Binary value is: %ld",binaryNo);

return 0;
}

long toBinary(int decimalNo){

static long binaryNo,remainder,factor = 1;

if(decimalNo != 0){

remainder = decimalNo % 2;
binaryNo = binaryNo + remainder * factor;
factor = factor * 10;
toBinary(decimalNo / 2);
}

return binaryNo;
}

Yukarda ki kod işinizi görücektir.

 
saat: 19 Kasım 2015 06:13 , Blogger Unknown dedi ki...

verilen kaynak kod 0 sayısı için bir sonuç vermemektedir.
Eğer kodun while kısmı şu şekilde düzeltilirse sorunsuz çalışır;

while (sayi>=0)
{
sayac++;
ikilik[sayac]= sayi % 2;
sayi = sayi / 2;
if(sayi==0) break;
}

 
saat: 19 Kasım 2015 09:40 , Blogger Unknown dedi ki...

Feedback için teşekkürler.

 

Yorum Gönder

Kaydol: Kayıt Yorumları [Atom]

<< Ana Sayfa