Bir sayıyı istenilen tabana çevirme
Visual Studio'da yeni bir Asp.net projesi açıp aşağıdaki gibi iki metin kutusu, bir Label ve bir Button ekleyelim. İlk metin kutusuna modu alınacak sayıyı gireceğiz, ikinci metin kutusuna da tabanı gireceğiz. Çevir düğmesine tıklayınca hesaplayıp lblSonuc etiketine yazdıracağız.
İlk metin kutusunun ID değerini txtSayi, ikinci metin kutusunun ID değerini txtTaban yaptık, sonra eklediğimiz butonun ismini btnCevir, etiketimizin ID değerini de lblSonuc yaptık.
İlk metin kutusunun ID değerini txtSayi, ikinci metin kutusunun ID değerini txtTaban yaptık, sonra eklediğimiz butonun ismini btnCevir, etiketimizin ID değerini de lblSonuc yaptık.
Mantığımız gayet basit bir döngü işleminde sayıyı sürekli tabana bölerek bölümü alacağız. Mod (%) operatörü ile de sayının tabana bölümünden kalanı bulacağız.
Örneğin 5 sayısını, ikilik (binary) tabana nasıl çeviririz, sürekli 2'ye böleriz. Yukarıdaki resme baktığınızda en sondaki bölümden başlayarak kalanların sırayla yazıldığını görüyoruz. Biz programlamada bölüp kalanları bir string değişkende depolayacağız, en son bölümü de ilave edip daha sonra stringi ters çevireceğiz.
while (sayi >= taban)
{
kalan = sayi % taban;
sayi = sayi / taban;
sonucstr += kalan.ToString();
}
sonucstr += sayi.ToString();
sonucstr += sayi.ToString();
Yukarıdaki kod bloğunda while döngüsü içinde sayıyı tabana bölerek ve modunu alarak sonucstr'de kalan değerleri depoluyoruz. while döngüsü sayi>=taban olduğu sürece devam ediyor, yani sayımız tabandan küçük olduğunda döngüden çıkacak. sonucstr += sayi.ToString(); satırı ile de en son bölümü kalan değerleri depoladğımız sonucstr'ye ekliyoruz.
protected void btnCevir_Click(object sender, EventArgs e)
{
int sayi = int.Parse(txtSayi.Text);
int taban = int.Parse(txtTaban.Text);
int kalan;
string sonucstr="", sonucstr2="";
while (sayi >= taban)
{
kalan = sayi % taban;
sayi = sayi / taban;
sonucstr += kalan.ToString();
}
//kalanları yazdık, en sondaki bölümü de ekliyoruz
sonucstr += sayi.ToString();
//ters çeviriyoruz, sonucstr=001, sonucstr2=100 olacak
for (int i = sonucstr.Length - 1; i >= 0; i--)
sonucstr2 += sonucstr[i];
lblSonuc.Text = sonucstr2.ToString();
}
Mutlu kodlamalar,
Oğuzhan TAŞ
Aralık, 2018
Mutlu kodlamalar,
Oğuzhan TAŞ
Aralık, 2018
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?