Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Побитовые операторы сдвига

Логические операторы | Целые отрицательные числа. | Мантисса меньше единицы и первая значащая цифра — не ноль. | Работа с числами | Работа со строками | Преобразование строк в числа | Многомерные массивы | Открытые параметры-массивы |


Читайте также:
  1. Геометрия сдвига слоя поверхности металла шариком
  2. Жесткий и мягкий режимы пластинного сдвига шарика
  3. Кручение стержня; волны сдвига
  4. Логические операторы
  5. Модели регрессии с фиктивными переменными сдвига
  6. Операторы
  7. Операторы ссылок

Побитовые операторы сдвига:

• Сдвиг влево (<<)
• Сдвиг вправо (>>)
• Сдвиг вправо с заполнением нулями (> > >)

Операторы сдвига присваивает два операнда: первый - количество на которое будет сдвинуто, и второй определяет число битовых положений, которыми первый операнд должен быть сдвинут. Направление действия сдвига управляется использующим оператором.

Операторы сдвига преобразуют операнды к 32-битное целое число, и возвращают результат того же самого типа что и левый оператор.

Сдвит влево (<<)

Сдвиг влево перемещает все биты влево на количество позиций, указанных в правой части выражения, заполняя освободившиеся позиции нулями.

Например, 9<<2 возвращает 36, потому что 1001 сдвигается на 2 бита влево и становится равным 100100, что равно в десятичной системе 36.

Сдвиг вправо (>>)

Сдвиг вправо заполняет освободившиеся слева позиции значением самого левого бита исходного значения.

Пример, 9 >> 2 возвращает 2, потому что 1001 сдвигается на два бита вправо и становится 10, что равно в десятичной системе 2. Аналогично, -9 >> 2 возвращает -3, потому что знак сохраняется.

Сдвиг вправо с заполнением нулями (> > >)

Сдвиг вправо с заполнением нулями работает аналогично сдвигу влево, только в противоположном направлении.

Например, 19> > >2 возвращает 4, потому что 10011 сдвигается на два бита вправо и становятся 100, что равно в десятичной системе 4. Для неотрицательных чисел сдвиг вправо с заполнением нулями и сдвиг вправо с сохранением знака дают один и тот же результат

 

 

7. Ветвление программ. Условный оператор и оператор выбора. Примеры.

Инструкция if – это базовая управляющая инструкция, позволяющая интерпретатору JavaScript принимать решения или, точнее, исполнять инструкции зависимости от условий. Инструкция имеет две формы. Первая:

 

if (выражение)

инструкция

В этой форме инструкции if сначала вычисляется выражение. Если полученный

результат равен true или может быть преобразован в true, то исполняется инструкция. Если выражение равно false или преобразуется в false, то инструкция не исполняется. Например:

if (username == null) // Если переменная username равна null или undefined,

username = "John Doe"; // определяем ее

 

Вторая форма инструкции if вводит конструкцию else, исполняемую в тех случаях, когда выражение равно false. Ее синтаксис:

if (выражение)

инструкция1

else

инструкция2

В этой форме инструкции сначала вычисляется выражение, и если оно равно true, то

исполняется инструкция1, в противном случае исполняется инструкция2. Например:

if (username!= null)

alert("Привет " + username + "\nДобро пожаловать на мою домашнюю страницу.");

else {

username = prompt("Добро пожаловать!\n Как вас зовут?");

alert("Привет " + username);

}

Фигурные скобки используются если нужно выполнить несколько инструкций.

Если требуется выполнить один из многих фрагментов кода, то возможный способ сделать это состоит в применении инструкции else if.

if (n == 1) {

// Исполняем блок кода 1

}

else if (n == 2) {

// Исполняем блок кода 2

}

else if (n == 3) {

// Исполняем блок кода 3

}

else {

// Если все остальные условия else не выполняются, исполняем блок 4

}

Инструкция if создает ветвление в потоке исполнения программы. Но если все ветви зависят от значения одной переменной. В этом случае расточительно повторно проверять значение одной и той же переменной в нескольких инструкциях if.

В данном случае эффективнее использовать инструкцию выбора switch. Синтаксис инструкции switch выглядит следующим образом.

switch(n) {

case 1: // Выполняется, если n == 1

// Исполняем блок кода 1.

break; // Здесь останавливаемся

case 2: // Выполняется, если n == 2

// Исполняем блок кода 2.

break; // Здесь останавливаемся

case 3: // Выполняется, если n == 3

// Исполняем блок кода 3.

break; // Здесь останавливаемся

default: // Если все остальное не подходит...

// Исполняем блок кода 4.

break; // Здесь останавливаемся

}

Различные места в блоке кода помечены ключевым словом case, за которым следует значение и символ двоеточия. Когда выполняется инструкция switch, она вычисляет значение выражения, а затем ищет метку case, соответствующую этому значению. Если метка найдена, исполняется блок кода, начиная с первой инструкции, следующей за меткой case. Если метка case с соответствующим значением не найдена, исполнение начинается с первой инструкции, следующей за специальной меткой default:. Если метки default: нет, блок кода пропускается целиком. Инструкция break приводит к передаче управления в конец инструкции switch. В случае отсутствия инструкций break инструкция switch начинает исполнение блока кода с метки case, соответствующей значению выражения,

и продолжает исполнение до тех пор, пока не дойдет до конца блока.

function convert(x) {

switch(typeof x) {

case 'number': // Преобразуем число в шестнадцатеричное целое

return x.toString(16);

case 'string': // Возвращаем строку, заключенную в кавычки

return '"' + x + '"';

case 'boolean': // Преобразуем в TRUE или FALSE, в верхнем регистре

return x.toString().toUpperCase();

default: // Любой другой тип преобразуем обычным способом

return x.toString()

}

}

8. Подпрограммы: описание и вызов процедур и функций; формальные и фактические параметры; параметры-значения; параметры-переменные; параметры-константы. Примеры.

Процедура (в программировании) - понятие, которое используется в большинстве языков программирования высокого уровня, и соответствует значению подпрограмма.


Дата добавления: 2015-08-20; просмотров: 52 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Побитовые (поразрядные)операторы| Открытые и закрытые процедуры

mybiblioteka.su - 2015-2024 год. (0.009 сек.)