static void ManipulowanieWartosciamiDwojkowymi() { //Negacja byte zmienna = 0b0_00011101; byte negacja = (byte)~zmienna; Console.WriteLine(Convert.ToString(zmienna, 2)); // 00011101 Console.WriteLine(Convert.ToString(negacja, 2)); // 11100010 Console.WriteLine(zmienna); // 29 Console.WriteLine(negacja); // 226 //Operator przesuniecia w lewo << zmienna = 0b0_11011101; var przesunieta = zmienna << 2; // 2 pierwsze pozycje od lewej zostaja usiniete a na koniec dodane 2 zera Console.WriteLine(Convert.ToString(zmienna, 2)); // 11011101 Console.WriteLine(Convert.ToString(przesunieta, 2)); // 01110100 //Operator OR | var zmiennaOR = zmienna | 3; // zmienna = 11011101; 3 = 0b0_011 Console.WriteLine(Convert.ToString(zmiennaOR, 2)); // 11011111 //Operator AND & var zmiennaAND = zmienna & 9; // zmienna = 11011101; 9 = 0b0_1001 Console.WriteLine(Convert.ToString(zmiennaAND, 2)); // 1001 // Operator XOR ^ var zmiennaXOR = zmienna ^ 9; // zmienna = 11011101; 9 = 00001001 Console.WriteLine(Convert.ToString(zmiennaXOR, 2)); // 11010100 // Mortal Combat int dobre_bity = 0b0_10101010; if ((dobre_bity & (1 << 5)) != 0) { Console.WriteLine("Szósty bit jest 1"); } Console.WriteLine(Convert.ToString(dobre_bity, 2)); // 11010100 dobre_bity &= ~(1 << 5); // ustawienie 0 na 6 bicie Console.WriteLine(Convert.ToString(dobre_bity, 2)); // 11010100 dobre_bity |= (1 << 5); // ustawienie 1 na 6 bicie Console.WriteLine(Convert.ToString(dobre_bity, 2)); // 11010100 // To samo mozemy osiagnac za pomoca Indexorow. IntBits bits = new IntBits(11); // 01011 bits[2] = true; // 01111 bits[3] = false; // 00111 Console.WriteLine(bits); }
static void Main(string[] args) { Index oIndex = new Index(); //set oIndex[0] = 55; oIndex[0] = 65; oIndex[0] = 23; //get for (int i = 0; i < 3; i++) { System.Console.WriteLine(oIndex[i]); } //boolean integer array flag IntBits oIntBits = new IntBits(); oIntBits[0] = false; pIntBits[1] = true; }
static void Main(string[] args) { int value = 0; int prilagodjeni = 64; IntBits bits = new IntBits(prilagodjeni); bool jedan = bits[6]; //citanje vrijednosti na indeksu 6 Console.WriteLine("Vrijednost na index-u 6:{0}", jedan); for (int i = 31; i >= 0; i--) { if (bits[i]) { Console.Write("1"); value += (int)Math.Pow(2, i); } else { Console.Write("0"); } } Console.WriteLine(" = {0}", value); value = 0; bits[0] = true; //postavljenje bita na ideksu 0 na vrijednost true bits[31] = false; //postavljanje bita na ideksu 31 na vrijednost false for (int i = 31; i >= 0; i--) { if (bits[i]) { Console.Write("1"); value += (int)Math.Pow(2, i); } else { Console.Write("0"); } } Console.WriteLine(" = {0}", value); }