• 14-01-2020, 21:43:08
    #1
    Şöyle bir soru var arkadaşlar
    1000 elemanlı int tipindeki dizide sayılar mevcuttur. Bu sayıların en yüksek seviyeli biti 1 olanların sayısını bulunuz. Bu bitlerden 1 leri 0, 0 ları 1 yapınız.
    bir arkadaş çözüm olarak şunu yazmış
    int[] dizi=new int[1000];
    for(int i = 0; i < dizi.Length; i++)
    {
         if(dizi[i] > enBuyukSayi) {
             enBuyukSayi = dizi[i]; enBuyukIndex=i;
         }
    }
    Console.WriteLine("Bulunan en büyük sayı:{0}", enBuyukSayi);
    Console.WriteLine("Sayının bulunduğu index:{0}", enBuyukIndex);
    
    unsigned int a=i; unsigned int b; a=~b;
    şimdi bu sorunun son kısmındaki bit olayının çözümü bu unsigned kısmı mı? İnternetten baktım da pek alakası yok gibi
  • 14-01-2020, 21:48:52
    #2
    Unsigned veri tipi yalnızca pozitif nümerik veri tutarım demek. Unary "~" bitwise operatörü ile de bitleri negate ediyor. 0 1 1 0 oluyor.
  • 14-01-2020, 21:48:59
    #3
    signed değişken -(eksi) değer alabiliyor. değişkewni unsigned yapıp -(eksi) değer almasını engelleyip alabileceği değer sayısını artırıyor...
  • 14-01-2020, 21:58:29
    #4
    berkantipek adlı üyeden alıntı: mesajı görüntüle
    Unsigned veri tipi yalnızca pozitif nümerik veri tutarım demek. Unary "~" bitwise operatörü ile de bitleri negate ediyor. 0 1 1 0 oluyor.
    RooTsGhosT adlı üyeden alıntı: mesajı görüntüle
    signed değişken -(eksi) değer alabiliyor. değişkewni unsigned yapıp -(eksi) değer almasını engelleyip alabileceği değer sayısını artırıyor...
    çok teşekkürler