- •4. Свойства и методы объекта String
- •Декремент (--)
- •Логические операторы
- •Мантисса меньше единицы и первая значащая цифра — не ноль.
- •Работа с числами
- •Символьный тип данных:
- •Работа со строками
- •Логический тип данных:
- •Преобразование строк в числа
- •Преобразование чисел в строки
- •Побитовые логические операторы
- •8. Подпрограммы: описание и вызов процедур и функций; формальные и фактические параметры; параметры-значения; параметры-переменные; параметры-константы. Примеры.
- •Открытые и закрытые процедуры
- •9. Массивы: одномерные и многомерные, статические и динамические – описание и внутреннее представление; параметры-массивы открытого типа в процедурах и функциях. Примеры.
- •Многомерные массивы
- •Открытые параметры-массивы
Декремент (--)
Противоположный инкременту оператор.
Этот оператор декрементирует (т. е. уменьшает на 1) свой единственный числовой операнд, который может представлять собой переменную, элемент массива или свойство объекта. Если значение этой переменной, элемента или свойства не является числом, оператор сначала пытается преобразовать его в число. Как и для оператора ++, точное поведение оператора -- зависит от его положения относительно операнда. Будучи поставленным перед операндом, он уменьшает операнд и возвращает уменьшенное значение, после операнда - уменьшает операнд, но возвращает первоначальное значение.
Оператор |
Описание |
Пример |
% (Модуль) |
Бинарный оператор. Возвращает целый остаток деления двух операторов |
12 % 5 возвращает 2 |
++ (Инкремент) |
Унарный оператор. Добавляет единицу к операнду. Если используется как префиксный оператор (++x), возвращает значение операнда после прибавления единицы; при использовании как постфикс оператор (x++) возвращает значение операнда до прибавления единицы. |
Если x равен 3, ++x устанавливает x равным 4 и возвращает 4, x++ возвращает 3 и только после этого устанавливает x равным 4. |
-- (Декремент) |
Унарный оператор. Вычитает единицу из своего операнда. Возвращаемое значение аналогично оператору инкремента. |
Если x равен 3, --x устанавливает x равным 2 и возвращает 2; x-- возвращает 3 и только после этого устанавливает x равным 2. |
- (Унарное отрицание) |
Унарный оператор. Возвращает отрицание операнда. |
Если x равен 3, -x возвращает -3. |
Логические операторы
Логические операторы обычно используются с булевыми (логическими) значениями; при этом они возвращают логическое значение. Однако операторы && и || обычно возвращают значение одного из заданных операндов, так что если эти операторы используются с не булевыми значениями, то они могут возвратить результат не булевого типа. Логические операторы описаны в следующей таблице.
Таблица 0.3.6.1 Логические операторы
Оператор |
Использование |
Описание |
&& |
expr1 && expr2 |
Логическое И. Возвращает expr1, если оно может быть преобразовано в false; в противном случае возвращает expr2. Таким образом, при использовании с булевыми значениями, && возвращает true если оба операнда являются true; в противном случае возвращается false. |
|
|
|
|| |
expr1 || expr2 |
Логическое ИЛИ. Возвращает expr1 если этот операнд может быть преобразован в true; в противном случае возвращает expr2. При использовании с булевыми значениями || возвращает true если какой-либо из операндов равен true; если оба операнда равны false, возвращает false. |
|
|
|
! |
!expr |
Логическое НЕ. Возвращает false если его единственный операнд может быть преобразован в true; в противном случае возвращает true. |
|
|
|
Выражения, которые могут быть преобразованы в false, это выражения, которые могут принимать значения null, 0, пустая строка ("") или undefined.
6. Числовые, символьные, логические типы данных: описание, внутреннее представление. Арифметические, логические и поразрядные операции. Стандартные процедуры и функции для простых типов данных. Преобразование типов. Примеры.
Представление чисел в разных языках программирования отличается. В некоторых языках программирования (например JavaScript) нет различия между целыми и вещественными значениями. Все числа в JavaScript представляются 64-разрядными вещественными значениями (с плавающей точкой), формат которых способен представлять числа от ±1,7976931348623157 10308 до ±5 10-324.
Число, находящееся непосредственно в коде JavaScript-программы, называется числовым литералом.
В JavaScript целые десятичные числа записываются как последовательность
цифр. Например:
0
3
10000000
Шестнадцатеричные литералы начинаются
с последовательности символов «0x» или «0X», за которой следует строка шестнадцатеричных цифр.
0xff // 15*16 + 15 = 255 (по основанию 10)
0xCAFE911
Хотя стандарт ECMAScript не поддерживает представление целых литералов в восьмеричном формате (по основанию 8), некоторые реализации JavaScript допускают подобную возможность. Восьмеричный литерал начинается с цифры 0, за ней следуют цифры, каждая из которых может быть от 0 до 7.
Например:
0377 // 3*64 + 7*8 + 7 = 255 (по основанию 10)
Литералы вещественных чисел должны иметь десятичную точку; в них используется традиционный синтаксис вещественных чисел.
3.14
Но литералы вещественных чисел могут также представляться в экспоненциальной форме:
[цифры] [.цифры] [(E|e)[(+|-)]цифры]
Например:
6.02e23 // 6.02 X 1023
1.4738223E-32 // 1.4738223 X 10-32
В ActionScript 3.0 Числовой тип включает три специфических типа числовых данных:
Number: любые целые или дробные числовые значения
int: целые числа без дробей
uint: беззнаковые (не отрицательные) целые числа
Исторически числа при описании вычислений на компьютере принято делить на целые (integer) и действительные (real), или числа с плавающей точкой (floatingpoint). Первому типу соответствуют литералы, образованные только цифрами (например, 122 или -896), второму — цифрами и десятичной точкой (5.8905 или 0.9067). Раньше такое деление было оправданно ввиду крайней ограниченности ресурсов компьютеров (целые числа требовали меньше памяти, чем числа с плавающей точкой). Современные машины достигли достаточной мощности, чтобы во всех случаях можно было использовать тип представления floating-point. Поэтому, для простоты, в ActionScript не существует типов real и integer, а все числа относятся к типу number, которому соответствуют 64-битные числа с плавающей точкой. Различие же между целыми числами и числами с дробной частью исключительно визуальное. Некоторые операторы и функции языка могут работать только с целыми числами (int и uint). Так как к типу number относятся числа с плавающей точкой, то для обеспечения корректной работы этих инструментов языка существуют внутренние методы, проводящие преобразования в 32-битные и 16-битные целые числа. Таким образом, разделение на целые числа и числа с плавающей точкой в ActionScript все же имеется, но только на уровне реализации.
Существуют два способа представления чисел в памяти ЭВМ. Они называются так: форма с фиксированной точкой и форма с плавающей точкой. Форма с фиксированной точкой применяется к целым числам, форма с плавающей точкой — к вещественным числам (целым и дробным). Под точкой здесь подразумевается знак-разделитель целой и дробной части числа.
Целые положительные числа представляются в двоичной системе счисления
В общем случае для N-разрядного машинного слова этот диапазон такой:
-2N-1 <= X <= 2N-1-1
Например если используется 32 разряда, то диапазон
-231 <= Х <= 231-1,
Целые отрицательные числа.
Разберемся, как представляются отрицательные числа. Казалось бы, для этого достаточно заменить 0 на 1 в старшем (31-м) разряде ячейки памяти (если используется 32 разряда). Однако реально это делается несколько сложнее. Для представления отрицательных целых чисел используется дополнительный код.
Дополнительным кодом двоичного числа X в N-разрядной ячейке является число, дополняющее его до значения 2.
Получить дополнительный код можно следующим путем:
записать внутреннее представление положительного числа X;
записать обратный код этого числа заменой во всех разрядах 0 на 1 и 1 на 0;
к полученному числу прибавить 1.
Определим по этим правилам внутреннее представление числа -562810 в 32-разрядной ячейке.
00000000 |
00000000 |
00010101 |
1111110 |
11111111 |
11111111 |
11101010 |
00000011 |
11111111 |
11111111 |
11101010 |
00000100 |
Форма с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления р в некоторой целой степени n, которую называют порядком:
R = m * рn
Например, число 25,324 можно записать в таком виде: 0.25324х102. Здесь m=0.25324 — мантисса, n=2 — порядок. Порядок указывает, на какое количество позиций и в каком направлении должна «переплыть», т.е. сместиться десятичная точка в мантиссе. Отсюда название «плавающая точка».
ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в нормализованном представлении должна удовлетворять условию:
