Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЯП-Лекция 02.docx
Скачиваний:
17
Добавлен:
11.06.2015
Размер:
349.33 Кб
Скачать

Литералы вещественных чисел

Вещественные числа (чисел с плавающей точкой) в языке JavaScriptзаписываются только в десятичной системе и состоят из следующих друг за другом частей (без каких бы то ни было разрывов и пробелов):

целая часть

. дробная часть

латинская буква e или E («экспонента» – признак порядка)

возможный знак порядка (+ или –)

порядок

Здесь целая часть,дробная частьипорядок– произвольные непустые последовательности десятичных цифр (0 – 9). Всё изображённое литералом число – это число, изображённое перед порядком, умноженное на 10n, гдеn– это порядок со своим знаком.

Во всей этой записи вещественного числа обязательно должны присутствовать только целая или дробная часть (с точкой), а также точка или e вместе с порядком. Так, литералами вещественного числа 0 являются0., .0, 0е1. В них уже нельзя удалить ни одного символа.

Например, число 3.14 можно записать в виде литералов

3.14, 0.314e1, .314e+1, 314E-2, 314.0e-2, 314.e-2

Формальный синтаксис:

Вещественное Десятичное.Десятичное Е ЗнакДесятичное.Десятичное Е ЗнакДесятичное │ Десятичное Е ЗнакДесятичное

Е→ e │ E

Знак → + │ -

Буквы eиE– латинские.

Перевод чисел в системы с другим основанием

Любой числовой литерал, встреченный интерпретатором в программе, сразу переводится во внутреннюю числовую систему, а функция alertпереводит из внутренней системы в десятичную. Например, операторalert(010)выдаст на экран число 8, аalert(0х10)выдаст на экран 16.JavaScriptс помощью специальных функций (методов) позволяет вводить и выводить числа в системах счисления с любым основанием от 2 до 36.

Позиционная система счисления с основанием p>1, илиp-ичная (p‑ричная) числовая система – это система сpцифрами, соответствующими числам 0, 1, …,p–1. Записьana2a1a0.a-1a-2a-3a-m, гдеai– цифры,mn > 0, обозначает в этой системе число, полученное по формуле.

Пример. 11.00100011112= 21+ 20+ 2-3+ 2-7+ 2-8+ 2-9+ 2-10= 3 + (27+ 23+ 22+ 21+ 20) / 210= 3 + 143 / 1024 = 3.139648437510≈ π.

В JavaScriptдля цифр во всех 35 числовых системах (с основанием от 2 до 36) предлагает использовать цифры из таблицы 2.1 (здесь регистр не играет роли).

Таблица 2.1.

Цифры в языке JavaScript

Цифра

0

1

2

3

4

5

6

7

8

9

A a

B b

C c

D d

E e

F f

G g

H h

Число10

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Цифра

I i

J j

K k

L l

M m

N n

O o

P p

Q q

R r

S s

T t

U u

V v

W w

X x

Y y

Z z

Число10

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

Чтобы с помощью alertвывести на экран какое-нибудь число не в десятичной системе, нужно воспользоваться встроенным7методомtoString, который значение любого типа преобразует в строку. В случае применения метода к числу его синтаксис имеет вид

числовое_выражение.toString(основание)

Здесь числовое_выражение– любое выражение, выдающее число, которое надо преобразовать в числовую систему с основанием, которое определяется выражениемоснование. Метод работает и для целых, и для вещественных чисел.

Примеры. 1) Операторalert((3.14).toString(2))выдаст на экран двоичное число 11.0010001111…, которое приближённо равно 3.1410.

2) Оператор alert((0х10+0хА0).toString(Х))выдаст при Х=16 шестнадцатеричное числоb0, при Х=10 – десятичное число 176, при Х=2 – двоичное число 10110000, при Х=32 – 32-ричное число 5g.

Если нужно целое р-ичное число выдать на экран в 10-й системе, можно ввести его с клавиатуры с помощью функцииprompt, преобразовать его во внутреннюю числовую систему с помощью встроенной функцииparseInt(«распознать целое»)8и выдать на экран функциейalert.

Для ввода целого или вещественного числа с клавиатуры с помощью функции promptнужно воспользоваться функциейparseIntилиparseFloat(строка), соответственно.

Вызов функции parseInt имеет синтаксис

parseInt(числовая_строка[,основание])

Здесь числовая_строка– выражение, выдающее строку, в которой нужно распознать запись числа в системе с основанием, заданным выражениемоснование. Если второй аргумент функции отсутствует, основание считается равным 10.

Пример. Оператор

alert(parseInt(prompt("36-ричное число",""),36))

запрашивает 36-ричное число и после ввода числа zyxвыдаёт на экран 46617. Проверяем: 100036= 363= 46656,zyx36= 100036– 1336= 46656 – 39 = 46617.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]