Отправляет email-рассылки с помощью сервиса Sendsay

Visual Basic.NET. Уроки

  Все выпуски  

Visual Basic.NET. Уроки


Информационный Канал Subscribe.Ru

Основы VB.NET. Уроки с сайта http://progs.biz

Рассылка №18

Основы VB.NET. Урок 17. Логические типы.
Основы VB.NET. Урок 18. Побитовые операции.

Полные версии уроков (с картинками) можно найти по адресам
Урок 17. Логические типы.
Урок 18. Побитовые операции.

Основы VB.NET. Урок 17. Логические типы

Логический тип - это Boolean (он эквивалентен типу System.Boolean в CLR). Переменные такого типа принимают только два значения - true (истина) и false (ложь).

Для переменных логического типа определены операции And (И), Or (ИЛИ), Not (НЕ) и Xor (Исключающее ИЛИ). Их таблици истинности действуют так:

И

And True False
True True False
False False False

ИЛИ

Or True False
True True True
False True False

Исключающее ИЛИ

Xor True False
True False True
False True False

Отрицание

Not
True False
False True

Вот пример их использования:

    Dim a, b, c, d As Boolean
    a = False And True
    b = False Or True
    c = False Xor True
    d = Not False
    Console.WriteLine("{0}, {1}, {2}, {3}", a, b, c, d)

Такой фрагмент выдаст на экран False, True, True, True.

Наверх

Основы VB.NET. Урок 18. Побитовые операции

Побитовые операции, как ясно из названия, осуществляются над отдельными битами чисел, к которым они применяются. Т. е. числа переводятся в двоичную форму, после чего к битам, стоящим на одинаковых местах, применяется побитовая операция, и полученный результат опять приводится к исходному виду.

Всего побитовых операций 4 штуки:

Операция Описание
And Побитовое И. Бит результата равен 1 только тогда, когда оба бита у операндов равны 1.
Or Побитовое ИЛИ. Бит результата равен 0 только тогда, когда оба бита у операндов равны 0.
Xor Побитовое исключающее ИЛИ. Бит результата равен 1, если бит только у одного операнда равен 1. Если же соответствующие биты либо оба равные 1, либо оба равны 0, то бит результата равен 0.
Not Побитовое отрицание. Применяется только к одному операнду, превращая его биты в противоположные (1 в 0, 0 в 1).

Вот как, например, подсчитывается 10 And 12: 10 в двоичном виде будет 1010, 12 - 1100, при побитовом And 1 будут только в тех местах, где 1 содержится и у первого, и у второго операнда. Т. е. в результате мы получим 1000, что в десятичном виде равно 8. Таим образом 10 And 12 даст 8.

Вот примеры на остальные побитовые операции:

        Dim a, b, c, d As Integer
        a = 12 And 10
        b = 12 Or 10
        c = 12 Xor 10
        d = Not 10
        Console.WriteLine("{0}, {1}, {2}, {3}", a, b, c, d)

На экране приведенный фрагмент покажет 8, 14, 6, -11. Первые три числа достаточно предсказуемы, последнее же (-11) получено через двоичное дополнение (именно так и хранятся отрицательные числа в компьютере). Действительно, если мы побитово сложим некоторое число A и Not A, то мы должны получить все единички. Но это в десятичном представлении эквивалентно минус одному. Т. е. A и Not A даст -1, A в нашем случае равно 10, значит Not A равно -11. Все правильно.

Наверх
Рассылки Subscribe.Ru
Уроки по ассемблеру
Уроки по ассемблеру. Использование MASM, примеры, FAQ.

Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное