Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Struct Point



{ public int x, y;

}

Class MainClass12

{ unsafe static void Main()

{ Point pt = new Point();

Point* pp = &pt;

pp->x = 123;

pp->y = 456;

Console.WriteLine("{0} {1}", pt.x, pt.y); // Вывод: 123 456

}

}

Унарные операции.

Пример 2.5. Использование операции инверсии разрядов целого числа (~).

Using System;

Class Demo

{ public static string ByteToStr(byte b)

// Преобразование байта (b) в двоичную форму

{ string s = ""; // Выходная строка

// Цикл преобразования 8-ми разрядов

for (sbyte n = 7; n >= 0; n--)

{ if ((byte)(b / Math.Pow(2, n)) == 1)

{ s = s + '1';

b = (byte)(b - (byte)(Math.Pow(2, n)));

}

Else

s = s + '0';

}

Return s;

}

Static void Main()

{ byte b = 1;

int i = (int) b;

i = ~i;

byte b2 = (byte) (i);

Console.WriteLine("Демонстрация инверсии разрядов " +

"целого числа:");

Console.WriteLine("Значение байта без инверсии: {0,3};\t" +

"двоичная форма: {1}", b, ByteToStr(b));

Console.WriteLine("Значение байта с инверсией: {0,3};\t" +

"двоичная форма: {1}", b2, ByteToStr(b2));

Console.ReadLine();

}

}

/* Вывод:

Демонстрация инверсии разрядов целого числа:

Значение байта без инверсии: 0; двоичная форма: 00000001

Значение байта с инверсией: 255; двоичная форма: 11111110

*/

Операции сдвига.

Пример 2.6. Использование сдвиговых операций.

Using System;

Class Demo

{ public static string ByteToStr(byte b)

// Преобразование байта (b) в двоичную форму

{... // Код функции смотри в примере 2.5

}





Дата публикования: 2015-10-09; Прочитано: 143 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...