Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide size C# dilindeki sayısal türler öğretildi. Küçük miktarlarda kod yazar, sonra bu kodu derleyip çalıştırırsınız. Öğretici, C# dilinde sayıları ve matematik işlemlerini inceleyen derslerin bir dizisini içerir. Bu dersler size C# dilinin temellerini öğretir.
Tavsiye
Programlamada yeni misiniz? Her bölümü sırayla inceleyin. Başka bir dilden mi geliyorsunuz? Zaten tamsayı ile kayan nokta ayrımlarını biliyor olabilirsiniz; temel bilgileri atlayabilir ve duyarlık ve sınır ve ondalık türü bölümlerine odaklanabilirsiniz.
Bu eğitimde, siz:
- C# geliştirme ortamıyla GitHub Codespace başlatın.
- Tamsayı matematiği keşfetme.
- İşlem sırasını öğrenin.
- Tamsayı sınırlarını ve hassasiyeti öğrenin.
- Kayan nokta türlerini öğrenin.
- Ondalık türünü öğrenin.
Önkoşullar
Aşağıdaki seçeneklerden birine sahip olmanız gerekir:
- GitHub Codespaces'ı kullanmak için bir GitHub hesabı. Henüz bir hesabınız yoksa GitHub.com'de ücretsiz bir hesap oluşturabilirsiniz.
- Aşağıdaki araçların yüklü olduğu bir bilgisayar:
Tamsayı matematiği keşfetme
Öğretici ortamıyla bir GitHub Codespace başlatmak için , öğretici kod alanı deposuna bir tarayıcı penceresi açın. Yeşil Kod düğmesini ve Codespaces sekmesini seçin. Ardından bu ortamı kullanarak yeni bir Codespace oluşturmak için işareti seçin + .
Merhaba dünya öğreticisini tamamladıysanız, yeni bir tane oluşturmak yerine bu kod alanının açılmasını sağlayabilirsiniz.
Codespace'ınız yüklendiğinde, öğreticiler klasöründe numbers.cs adlı yeni bir dosya oluşturun.
Yeni dosyanızı açın.
Aşağıdaki kodu numbers.cs yazın veya kopyalayın:
int a = 18; int b = 6; int c = a + b; Console.WriteLine(c);Tümleşik terminale aşağıdaki komutları yazarak bu kodu çalıştırın:
cd ./tutorials dotnet numbers.csTamsayılar içeren temel matematik işlemlerinden birini gördünüz. Türü
intbir tamsayı, sıfır, pozitif veya negatif tamsayıyı temsil eder. Ekleme için+simgesini kullanırsınız. Tamsayılar için diğer yaygın matematik işlemleri şunlardır:- Çıkarma için
- - Çarpma için
* - Bölme için
/
- Çıkarma için
Bu farklı işlemleri keşfederek başlayın. Değerini yazan
csatırın arkasına bu satırları ekleyin:// subtraction c = a - b; Console.WriteLine(c); // multiplication c = a * b; Console.WriteLine(c); // division c = a / b; Console.WriteLine(c);Terminal penceresine yazarak
dotnet numbers.csbu kodu çalıştırın.
İsterseniz aynı satıra birden çok matematik işlemi yazarak da denemeler yapabilirsiniz. Örneğin, deneyin c = a + b - 12 * 17; . Değişkenleri ve sabit sayıları karıştırmaya izin verilir.
Tavsiye
C# dilini (veya herhangi bir programlama dilini) keşfederken kod yazarken hatalar yapabilirsiniz. Derleyici bu hataları bulur ve size bildirir. Çıktı hata iletileri içerdiğinde, örnek koda ve pencerenizdeki koda yakından bakarak nelerin düzeltileceğini görün. Copilot'dan farklılıkları bulmasını veya hataları tespit etmesini de isteyebilirsiniz. Bu alıştırma, C# kodunun yapısını öğrenmenize yardımcı olur.
İlk adımı tamamladınız. Sonraki bölüme başlamadan önce geçerli kodu ayrı bir yönteme taşıyın. Yöntem, birlikte gruplandırılmış ve bir ad verilen bir dizi deyimdir. Yönteminin adını ve ardından ()öğesini yazarak yöntemini çağırırsınız. Kodunuzu yöntemler halinde düzenlemek, yeni bir örnekle çalışmaya başlamanızı kolaylaştırır.
Tavsiye
Daha fazla bilgi edinin: C# Ile İlgili Temel Bilgiler bölümünde yöntemler ve program yapısı hakkında bilgi edinin.
bitirdiğinizde kodunuz şu şekilde görünmelidir:
WorkWithIntegers();
void WorkWithIntegers()
{
int a = 18;
int b = 6;
int c = a + b;
Console.WriteLine(c);
// subtraction
c = a - b;
Console.WriteLine(c);
// multiplication
c = a * b;
Console.WriteLine(c);
// division
c = a / b;
Console.WriteLine(c);
}
İşlem sırasını keşfetme
çağrısına açıklama ekleyin
WorkingWithIntegers(). Bu değişiklik, siz bu bölümde çalışırken çıkışı daha az karmaşık hale getirir://WorkWithIntegers();C
//# dilinde bir açıklama başlatır. Açıklamalar, kaynak kodunuzda tutmak istediğiniz ancak kod olarak yürütmek istemediğiniz herhangi bir metindir. Derleyici açıklamalardan yürütülebilir kod oluşturmaz.WorkWithIntegers()Bir yöntem olduğundan, yalnızca bir satır açıklama satırı yapmanız gerekir.C# dili, matematikte öğrendiğiniz kurallarla tutarlı kurallarla farklı matematik işlemlerinin önceliğini tanımlar. Çarpma ve bölme, toplama ve çıkarma işlemlerine göre önceliklidir. çağrısından sonra aşağıdaki kodu ekleyerek ve terminal penceresine
WorkWithIntegers()yazarakdotnet numbers.csbu önceliği keşfedin:int a = 5; int b = 4; int c = 2; int d = a + b * c; Console.WriteLine(d);Çıkış, çarpmanın toplamadan önce gerçekleştirildiğini gösterir.
İlk olarak gerçekleştirilmesini istediğiniz işlemin veya işlemlerin çevresine parantez ekleyerek farklı bir işlem sırasını zorlayabilirsiniz. Aşağıdaki satırları ekleyin ve uygulamayı yeniden çalıştırın:
d = (a + b) * c; Console.WriteLine(d);Birçok farklı işlemi birleştirerek daha fazlasını keşfedin. Aşağıdaki satırlara benzer bir şey ekleyin. Terminal penceresinde yeniden deneyin
dotnet numbers.d = (a + b) - 6 * c + (12 * 4) / 3 + 12; Console.WriteLine(d);Tamsayılar için ilginç bir davranış fark edebilirsiniz. Tamsayı bölme, sonucun ondalık veya kesirli bir bölüm içermesini bekleseniz bile her zaman bir tamsayı sonucu üretir.
Bu davranışı görmediyseniz aşağıdaki kodu deneyin:
int e = 7; int f = 4; int g = 3; int h = (e + f) / g; Console.WriteLine(h);Sonuçları görmek için terminal penceresine yeniden yazın
dotnet numbers.cs.
Devam etmeden önce, bu bölümde yazdığınız tüm kodu alın ve yeni bir yönteme yerleştirin. Yeni yöntemi çağır OrderPrecedence. Kodunuz şuna benzer olmalıdır:
// WorkWithIntegers();
OrderPrecedence();
void WorkWithIntegers()
{
int a = 18;
int b = 6;
int c = a + b;
Console.WriteLine(c);
// subtraction
c = a - b;
Console.WriteLine(c);
// multiplication
c = a * b;
Console.WriteLine(c);
// division
c = a / b;
Console.WriteLine(c);
}
void OrderPrecedence()
{
int a = 5;
int b = 4;
int c = 2;
int d = a + b * c;
Console.WriteLine(d);
d = (a + b) * c;
Console.WriteLine(d);
d = (a + b) - 6 * c + (12 * 4) / 3 + 12;
Console.WriteLine(d);
int e = 7;
int f = 4;
int g = 3;
int h = (e + f) / g;
Console.WriteLine(h);
}
Tamsayı hassasiyetini ve sınırlarını keşfetme
Önceki örnekte, tamsayı bölme işleminin sonucu kesir kısmını kestiğini göstermektedir.
Kalan işlecini (karakteri) kullanarak % alabilirsiniz.
OrderPrecedence()yöntemini çağırdıktan sonra aşağıdaki kodu deneyin:int a = 7; int b = 4; int c = 3; int d = (a + b) / c; int e = (a + b) % c; Console.WriteLine($"quotient: {d}"); Console.WriteLine($"remainder: {e}");C# tamsayı türü matematiksel tamsayılardan farklı bir şekildedir:
inttürü en düşük ve en yüksek sınırlara sahiptir. Bu sınırları görmek için aşağıdaki kodu deneyin:int max = int.MaxValue; int min = int.MinValue; Console.WriteLine($"The range of integers is {min} to {max}");Eğer bir hesaplama bu sınırları aşan bir değer üretirse, taşma veya aşma koşulu alırsınız. Yanıt sanki bir sınırdan diğerine uzanıyor. Bir örneği görmek için kodunuza şu iki satırı ekleyin:
int what = max + 3; Console.WriteLine($"An example of overflow: {what}");
Yanıtın en düşük (negatif) tamsayıya çok yakın olduğuna dikkat edin.
min + 2ile aynıdır. Toplama işlemi , tamsayılar için izin verilen değerleri taştı. Bir taşma mümkün olan en büyük tamsayı değerinden en küçüğe "kaydırdığından" yanıt büyük bir negatif sayıdır.
int Tür gereksinimlerinizi karşılamıyorsa, farklı sınırları ve duyarlığı olan diğer sayısal türleri kullanın. Şimdi bu sayı türlerini inceleyelim.
Çift veri türüyle çalışma
double sayısal türü çift duyarlıklı kayan nokta sayısını temsil eder. Bu terimler sizin için yeni olabilir.
Kayan noktalı sayı, çok büyük veya küçük boyutlu olabilecek tam sayı olmayan sayıları temsil etmek için kullanışlıdır.
Çift duyarlıklı, değeri depolamak için kullanılan ikili basamak sayısını açıklayan göreli bir terimdir.
Çift duyarlıklı sayılar, tek duyarlıklı olanların iki katı ikili basamak sayısına sahiptir. Modern bilgisayarlarda, tek duyarlıklı sayılardan daha yaygın olarak çift duyarlıklı sayıları kullanırsınız.
Tek duyarlıklı sayılar anahtar sözcüğü kullanılarak float bildirilir. Şimdi araştıralım.
Aşağıdaki kodu ekleyin ve sonucu görün:
double a = 5; double b = 4; double c = 2; double d = (a + b) / c; Console.WriteLine(d);Yanıtın bölme işleminin ondalık kısmını içerdiğine dikkat edin.
Ondalıklı sayılarla biraz daha karmaşık bir ifade deneyin. Aşağıdaki değerleri kullanabilir veya diğer sayıları değiştirebilirsiniz:
double a = 19; double b = 23; double c = 8; double d = (a + b) / c; Console.WriteLine(d);Çift değer aralığı tamsayı değerlerinden çok daha büyüktür. Şu ana kadar yazdıklarına eklediğiniz aşağıdaki kodu deneyin:
double max = double.MaxValue; double min = double.MinValue; Console.WriteLine($"The range of double is {min} to {max}");Bu değerler bilimsel olarak yazdırılır.
Eöğesinin solundaki sayı, anlamlı sayıdır. Sağdaki sayı, 10'un üssü olan kuvvettir.Matematikteki ondalık sayılar gibi, C# dilindeki çiftlerde de yuvarlama hataları olabilir. Şu kodu deneyin:
double third = 1.0 / 3.0; Console.WriteLine(third);0.33/10olduğunu ve1/3ile tam olarak aynı olmadığını biliyorsunuz. Benzer şekilde,0.3333/100'dır. Bu değer1/3daha yakındır, ancak yine de tam değildir. Kaç ondalık basamak eklerseniz ekleyin, yuvarlama hatası kalır.
Sınaması
türünü kullanarak double büyük sayılar, küçük sayılar, çarpma ve bölme içeren diğer hesaplamaları deneyin. Daha karmaşık hesaplamalar deneyin. Sınamayla biraz zaman geçirdikten sonra, yazdığınız kodu alın ve yeni bir yönteme yerleştirin. Bu yeni yöntemi adlandır.WorkWithDoubles
Ondalık türleriyle çalışma
C# dilinde temel sayısal türleri gördünüz: tamsayılar ve çiftler. Öğrenebileceğiniz bir tür daha vardır: decimal türü.
decimal türü daha küçük bir aralığa sahiptir ancak double'den daha fazla duyarlığa sahiptir.
Şimdi bir göz atalım:
decimal min = decimal.MinValue; decimal max = decimal.MaxValue; Console.WriteLine($"The range of the decimal type is {min} to {max}");Aralığın
doubletüründen küçük olduğuna dikkat edin.Aşağıdaki kodu deneyerek ondalık türüyle daha büyük duyarlığı görebilirsiniz:
double a = 1.0; double b = 3.0; Console.WriteLine(a / b); decimal c = 1.0M; decimal d = 3.0M; Console.WriteLine(c / d);Ondalık türündeki matematikte ondalık ayırıcının sağındaki daha fazla basamak olduğuna dikkat edin.
Sayılardaki
Msonek, bir sabitin türünü kullanmasıdecimalgerektiğini gösterir. Aksi takdirde, derleyicidoubletürünü varsayar.
Uyarı
M harfi, double ve decimal anahtar sözcükleri arasındaki en görsel olarak belirgin harftir.
Sınaması
Farklı sayısal türleri bildiğinize göre, yarıçapı 2,50 santimetre olan bir dairenin alanını hesaplayan kod yazın. Bir dairenin alanının PI ile çarpılan yarıçap karesi olduğunu unutmayın. Bir ipucu: Math.PI bu değer için kullanabileceğiniz PI için bir sabit uygulama zamanı içerir.
Math.PI, System.Math ad alanında bildirilen tüm sabitler gibi double bir değerdir. Bu nedenle, bu sınama için double değerleri yerine decimal kullanmalısınız.
19 ile 20 arasında bir yanıt almalısınız.
double radius = 2.50;
double area = Math.PI * radius * radius;
Console.WriteLine(area);
İstersen başka formüller de deneyebilirsiniz.
Kaynakları temizleme
GitHub, 30 günlük etkinlik dışı kalma süresinden sonra Codespace'inizi otomatik olarak siler. Bu serideki diğer öğreticileri keşfetmeyi planlıyorsanız, Codespace'inizi (kod çalışma alanı) hazır durumda bırakabilirsiniz. .NET SDK'sını indirmek için .NET sitesini ziyaret etmeye hazırsanız Codespace'ınızı silebilirsiniz. Codespace'ınızı silmek için bir tarayıcı penceresi açın ve Codespaces'inize gidin. Pencerede kod boşluklarınızın listesini görmeniz gerekir. Learn eğitim kod alanının girişindeki üç noktayı (...) seçin ve sil seçin.
Sonraki Adımlar
Bu serideki bir sonraki eğitime geçin:
İsterseniz C# Ile İlgili Temel Bilgiler bölümünden ilgili konuları da keşfedebilirsiniz:
- C# tür sistemi — Bu öğreticide kullandığınız türleri ayrıntılı olarak inceleyin.
- Yöntemler ve program yapısı — Kodunuzu düzenlemek için oluşturduğunuz yöntemler hakkında daha fazla bilgi edinin.
- C# ile oluşturabileceğinizler — Öğrendiklerinizle oluşturabileceğiniz uygulama türlerine bakın.
- Tamsayı sayısal türleri
- Kayan nokta sayısal tipleri
- yerleşik sayısal dönüştürmeler