forked from urfu-2018/javascript-task-1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Hex.js
29 lines (25 loc) · 1.03 KB
/
Hex.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'use strict';
const HEX_SYMBOLS =
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
const HEX_BASE = 16;
/**
* Определяет является ли символ шеснадцатиричным
* @param {String} symbol Шестнадцатиричный символ, в виде строки длины 1
* @returns {Boolean} Когда символ шестнадцатиричный, то true, а иначе false
*/
function isHexadimal(symbol) {
return HEX_SYMBOLS.includes(symbol);
}
/**
* Переводит Шестнадцатиричный символ в десятичное число
* @param {String} symbol Шестнадцатиричный символ, в виде строки длины 1
* @returns {Number} Десятичнеое число, переведённое из шестнадчатиричного символа
*/
function getNumber(symbol) {
return HEX_SYMBOLS.indexOf(symbol);
}
module.exports = {
HEX_BASE,
isHexadimal,
getNumber
};