Şimdi Ara

C veri tipleri karmaşası (2. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
23
Cevap
2
Favori
1.420
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: önceki 12
Sayfaya Git
Git
Giriş
Mesaj
  • hocam gerçektende çok haklısınız bende bu konuyu başkaların kodlarına bakarak açmıştım zaten aynen dediğiniz gibi bir çok fonksiyon neredeyse %90'ı sadece pozitif değer almasına rağmen veri tipi "signed" oluyor bende buna bir anlam verememiştim bu konuyu açtım çünki prof kodcular signed kullanırken benim unsigned kullanmam aklımda bayağı soru işareti oluşturdu ve bende neden unsigned yerine signed kullanıyorlar onu merak ettiğim için bu konuyu açtım sanırsam bunu anlamanın en iyi yolu o yazılan signed fonksiyonlarla ilgili belgeleri açıklamaları okumak tabi bunun içinde ingilizce gerekiyor ingilizcemi geliştirip bayağı kod okuyup araştıracam umarım faydalı olur

    birkeresinde şu bile kafama takılmıştı hani bir durumu kontrol etmek için atıyorum 0 ise yanlış 1 ise doğru adamlar bunun için 1 byte lık char değişkeni oluşturuyordu bende neden sadece 0 ve 1 için 8 bit israf ediyolar onun yerine bitfield kullanarak 1 bitlik bir değişken oluştursalar ya diyordum




  • Oncelikle burada cok buyuk bir yanlis anlasilma goruyorum, eger ki performans ve/veya ram kullanimi sizin icin bir oncelik degilse neden C/C++ kullaniyorsunuz?

    Low-level bir dil kullanmanin amaci zaten bu tarz goreli olarak temel optimizasyonlardan yararlanabilmek, eger ki cache coherency'yi kisisel olarak yada proje bazinda onemsiz bir unsur olarak goruyorsaniz, genel olarak yada o projede C/C++ kullanmaniza hic gerek yok.

    Onun disinda, fonksyonlardan gecersiz durumda belli bir deger donebiliyor olmanin signed/unsigned ile bir alakasi yok, stl::string'de (c++) substring arama fonksyonu (strpos) bir deger bulamadiginda npos adli bir constant degerini donuyor hem de unsigned oldugu halde! Ustelik constant degiskenler kullanmak okunabilirlik ve anlasilabilirlik konularinda da cok olumlu.

    Bunun disinda java'da unsigned olmamasi her hangi bir anlam ifade etmiyor, java'da olmayan pek cok gerekli konsept var, operator overloading gibi.

    Veri araligini ikiye katlamasini zaten en kotu anlaminda soylemistim okursaniz gorursunuz (..bir degiskenin maximum degerinin 2ye katlanmasi kimseye zarar vermez..).

    Onu gectim, negatif deger alamadigi halde standart library'de signed donus tipi olan cok da fazla fonksyon goremezsiniz.

    Son olarak da, performans kritik herhangi bir kod yazan herhangi birinin cache pratik olarak ise yaramaz diyebilecegini zannetmiyorum. Bu threadde yazdigim butun ornekler grafik islemleri ve oyun motoru seviyesinde inanilmaz fazla onem verilen konular.



    < Bu mesaj bu kişi tarafından değiştirildi Fatih513 -- 25 Eylül 2015; 16:27:26 >




  • hocam ben standart library ile ilgili dediğinize katılmıyorum aynen elektro_gadgetin dediği gibi bir çok fonksiyon negatif almadığı halde dönüş tipi signed
  • 
Sayfa: önceki 12
Sayfaya Git
Git
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.