Project

General

Profile

Язык nML синтаксис операторы примеры » History » Version 6

Alexander Protsenko, 06/18/2019 02:56 PM

1 2 Alexander Protsenko
*Язык nML: синтаксис, операторы, примеры*
2
3
h1. История языка nML
4
5
h1. Синтаксис языка nML
6
7
h1. Ключевые операторы языка nML и примеры кода
8
9
h3. Оператор преобразования типа: *cast*
10
11
h3. Оператор присвоения типа: *сoerce*
12
13
h1. Использование библиотеки softfloat для работы с числами с плавающей точкой
14 3 Alexander Protsenko
15
В языке nML, используемом в инструменте MicroTESK, для создание типа чисел с плавающей точкой необходимо использовать ключевое слово *float(мантисса, показатель степени)*.
16
Пример:
17
<pre>
18
type FLOAT16  = float(10, 5)
19
type FLOAT32  = float(23, 8)
20
type FLOAT64  = float(52, 11)
21
type FLOAT128 = float(112, 15)
22
</pre>
23 4 Alexander Protsenko
24
*float_rounding_mode* - параметр содержащий режим округления. В соответствии с этим параметром происходит округление при обработке операций библиотекой.
25
26
В настоящий момент поддерживается 5 режимов округления:
27
* round_nearest_even(0),
28
* round_up(1),
29
* round_down(2),
30
* round_to_zero(3),
31
* round_near_maxMag(4);
32 5 Alexander Protsenko
33
Операторы преобразования чисел с плавающей точкой:
34
* число float = int_to_float(тип float, число int)
35 6 Alexander Protsenko
* целое число = float_to_int(тип целое число, число float)
36
37
Примеры преобразований:
38
39
<pre>var fp_32[FLOAT32]
40
var word_32[WORD]
41
word_32 = float_to_int(WORD, fp_32);</pre>
42
43
<pre>var fp_32[FLOAT32]
44
var int_32[int(32)]
45
fp_32 = int_to_float(FLOAT32, int_32);</pre>