folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder C# Console Taban Aritmetiği



C# Console Taban Aritmetiği

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    uzengil
    uzengil's avatar
    Kayıt Tarihi: 10/Ağustos/2011
    Erkek

    Arkadaşlar böyle bir kod var fakat benden girdi isteniyor ben bunu girdi aldıktan sonra nasıl çeviri yaptırıcam
    string x = "1111111111";
    Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 2), 8)+ " 2 lik sayıyı 8 lik sisteme çevirdik");
    Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 2), 10) + " 2 lik sayıyı 10 lik sisteme çevirdik");
    Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 2), 16) + " 2 lik sayıyı 16 lik sisteme çevirdik");
    x = "147";
    Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 8), 2) + " 8 lik sayıyı 2 lik sisteme çevirdik"); Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 8), 10) + " 8 lik sayıyı 10 lik sisteme çevirdik"); Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 8), 16) + " 8 lik sayıyı 16 lik sisteme çevirdik");
    x = "3176";
    Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 10), 2) + " 10 lik sayıyı 2 lik sisteme çevirdik"); Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 10), 8) + " 10 lik sayıyı 8 lik sisteme çevirdik"); Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 10), 16) + " 10 lik sayıyı 16 lik sisteme çevirdik");
    x = "ABC";
    Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 16), 2) + " 16 lik sayıyı 2 lik sisteme çevirdik"); Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 16), 8) + " 16 lik sayıyı 8 lik sisteme çevirdik"); Console.WriteLine(Convert.ToString(Convert.ToInt32(x, 16), 10) + " 16 lik sayıyı 10 lik sisteme çevirdik");

    Console.ReadLine();


    İmza nasıl atılıyor ?
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    girdiyi dışardan mı vermek istiyorsun anlamadım? normalde x e eşitlediğin sayılar için kod doğru gözüküyor

     

    1777 2 lik sayıyı 8 lik sisteme çevirdik

    1023 2 lik sayıyı 10 lik sisteme çevirdik

    3ff 2 lik sayıyı 16 lik sisteme çevirdik

    1100111 8 lik sayıyı 2 lik sisteme çevirdik

    103 8 lik sayıyı 10 lik sisteme çevirdik

    67 8 lik sayıyı 16 lik sisteme çevirdik

    110001101000 10 lik sayıyı 2 lik sisteme çevirdik

    6150 10 lik sayıyı 8 lik sisteme çevirdik

    c68 10 lik sayıyı 16 lik sisteme çevirdik

    101010111100 16 lik sayıyı 2 lik sisteme çevirdik

    5274 16 lik sayıyı 8 lik sisteme çevirdik

    2748 16 lik sayıyı 10 lik sisteme çevirdik


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    uzengil
    uzengil's avatar
    Kayıt Tarihi: 10/Ağustos/2011
    Erkek

    Evet girdi almak istiyorum 


    İmza nasıl atılıyor ?
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    tamam ama tam olarak nasıl bir şey istiyorsun.. sürekli sayı çevirmeyi soracak bir şey mi (döngü) ?

    yoksa hangi tabandan hangi tabana çevireceğini mi soracak? 


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    sadece bir kereliğine soruyor, sayıyı, orjinal tabanın ve çevirmek istediğin tabanı

     

       string sayi, sonuc; //2 tane string türünde değişken tanımladık (sayı harf içerebilir.örn:16lık taban)
                int asilTaban, cevrilecekTaban; //2 tane int türünden değişken tanımladık
    
    
                Console.WriteLine("Lütfen çevirmek istediğiniz sayıyı giriniz : ");
                sayi = Console.ReadLine(); //burada kullanıcı sayıyı yazdıktan sonra enter'a bastığında sayi değişkenine 
                //atanır. sayi değişkeni, çevrilmek istenilen sayıyı tutuyor.
    
    
                Console.WriteLine("Lütfen sayının tabanını giriniz  : ");
                asilTaban = Convert.ToInt32(Console.ReadLine()); //üstte girilmiş olan sayı'nın hangi türden olduğunu
                //kullanıcı girer,bu da asilTaban değişkenine atanır. Mesela 2 ya da 16 yazabilir.Böylece girilmiş olan
                //sayının hangi tabanda olduğunu anlayabiliriz.
    
                Console.WriteLine("Lütfen hangi tabana çevirmek istediğinizi giriniz : ");
                cevrilecekTaban = Convert.ToInt32(Console.ReadLine()); //burada da çevirmek istediğimiz taban kullanıcıdan
                //isteniyor.mesela 2 lik tabanda olan bir sayıyı 10 luk tabana çevirmek istediğimizde buradaki 
                //cevrilecektaban 10 oluyor. 
    
    
                //sonuç değişkeninin iste kullanıcı ile bir ilgisi yok,sadece girilen sayılarla ilgisi var.
                //öncelikle convert.toint32 ile kullanıcının girmiş olduğu sayıyı ve asıl tabanına çeviriyoruz
                //mesela 123 sayısını girmiş ama bunu 2 tabanında diyorsa bu fonksiyon 123 sayısını 1111011 çevirecektir
                // sonra yine Convert.ToString ile bu sayının (artık 1111011 sayısı) dönüşümü çevrilecek tabanda girilmiş
                //olan tabana dönüştürülecek ve sonuç değişkenine atanacaktır. sonuç değişkeninin türünün string olmasının
                //sebebi ise dönüştürülen sayıda harfler bulunmasıdır. mesela 16 lık tabanda A dan F ye kadar harfler olabilir
                // mesela yukarıdaki 1111011 sayısının karşılığı 7B dir. bu sayıyı int türünden bir değişkende tutamayız.O sebeple
                //string kullanılmış.
                sonuc = Convert.ToString(Convert.ToInt32(sayi, asilTaban), cevrilecekTaban);
    
                //tüm verileri işledikten sonra bunları ekrana girmek için pratik olarak String.Format fonksiyonu kullanılmıştır
                //gördüğün gibi {0}  {1} gibi ifadelr var, bunun anlamı {0} gördüğün yere virgülden sonraki ilk değeri yaz yani asilTaban
                //{1} gördüğün yere virgülden sonraki 2. değeri yaz yani "sayi"
                //{2} gördüğün yere virgülden sonraki 3. değeri yaz yani cevrilecekTaban
                //{3} gördüğün yere virgülden sonraki 4. değeri yaz yani sonuc
                Console.WriteLine(String.Format("Girmiş olduğunuz {0} tabanındaki {1} sayısının {2} tabanında karşılığı : {3} ", asilTaban, sayi, cevrilecekTaban, sonuc));
                Console.ReadLine(); //bunun amacı da eğer direk exeyi çalıştırıyorsan pencerenin kapanmasını engellemek için kullanıcıdan bir tuşa basması beklenir
    
    unbalanced tarafından 29/Mar/14 11:31 tarihinde düzenlenmiştir

    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    uzengil
    uzengil's avatar
    Kayıt Tarihi: 10/Ağustos/2011
    Erkek

    bunun mantığı nedir peki ? yani işlemi nedir onu anlamadım 


    İmza nasıl atılıyor ?
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    overbite
    overbite's avatar
    Kayıt Tarihi: 13/Ağustos/2011
    Erkek

    ünideyken yazmışım c++ ile

    #include <iostream.h>
    #include <stdlib.h>
    using namespace std;
    
    int cevir10toN(int,int);
    int cevir10toN(int sayi,int sistem)
    {
    	int kalan,i,a,j,sayi2,z,eleman,sonuc,us,p;
    	sayi2=sayi;
    	if(sayi<sistem) 
    	{
    		cout<<sayi<<endl;
    		return 0;
    	}
    	a=2;
    
    	for(i=0;;i++)
    	{
    		sayi=sayi/sistem;
    		if(sayi<sistem) break;
    		a=a+1;
    	}
            int f[a];
    	for(j=0;j<=a-1;j++)
    	{
    		f[j]=sayi2%sistem;
    		sayi2=sayi2/sistem;
    		if(sayi2<sistem) break;
    
    	}
    	f[a-1]=sayi2;
    	sonuc=0;
    	us=1;
    	for(z=0;z<=a-1;z++)
    	{
    	eleman=f[z]*us;
    	us=us*10;
    	sonuc=sonuc+eleman;
    	}
    	return sonuc;
    }
    
    int cevirNto10(int,int);
    int cevirNto10(int sayi, int sistem)
    {
          int sayi2,bs,ara,sonuc,carpan,i;
          sayi2=sayi;
          bs=2;
          for (i=0;;i++)
          {
          sayi=sayi/10;
          if (sayi<10) break;
          bs=bs+1;
          }
          int basamaklar[bs];
          for (i=1;i<=bs-1;i++)
          {
          basamaklar[i-1]=sayi2%10;
          sayi2=sayi2/10;
          if (sayi2<10) break;
          }
          basamaklar[bs-1]=sayi2;
          carpan=1;
          sonuc=0;
          for (i=1;i<=bs;i++)
          {
          ara=basamaklar[i-1]*carpan;
          sonuc=sonuc+ara;
          carpan=carpan*sistem;
          }
          return sonuc;
    }
    int main()
    {
    int sayi,sistem1,sistem2,cevir,sonuc;
          cout<<"Cevirmek istediginiz sayiyi girin"<<endl;
          cin>>sayi;
          cout<<"Girdiginiz sayi kaclik sistemde"<<endl;
          cin>>sistem1;
          cout<<"Kaclik sisteme cevrilsin"<<endl;
          cin>>sistem2;
          cevir=cevirNto10(sayi,sistem1);
          sonuc=cevir10toN(cevir,sistem2);
          cout<<"("<<sayi<<")"<<sistem1<<"="<<"("<<sonuc<<")"<<sistem2<<endl;
          system("PAUSE");
          return 0;
    }
    

    ulan bir susar mısın?
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    yorum ekledim hocam koda, oradan okuyabilirsin satır satır işlemleri yazdım


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    uzengil
    uzengil's avatar
    Kayıt Tarihi: 10/Ağustos/2011
    Erkek

    Çok teşekkür ederim şimdi anladım :)


    İmza nasıl atılıyor ?
Toplam Hit: 1707 Toplam Mesaj: 9