int8
преобразование в однобайтное представление целого числа
int16
преобразование в двухбайтное представление целого числа
int32
преобразование в четырёхбайтное представление целого числа
int64
преобразование в восьмибайтное представление целого числа
uint8
преобразование в однобайтное представление беззнакового целого числа
uint16
преобразование в двухбайтное представление беззнакового целого числа
uint32
преобразование в четырёхбайтное представление беззнакового целого числа
uint64
преобразование в восьмибайтное представление беззнакового целого числа
Синтаксис
y = int8(X) y = int16(X) y = int32(X) y = int64(X) y = uint8(X) y = uint16(X) y = uint32(X) y = uint64(X)
Аргументы
- X
матрица логических чисел, закодированных целых чисел или десятичных вещественных или комплексных чисел. Матрица строк, представляющая литеральные большие целые числа для
int64
иuint64
.- y
матрица целых чисел, закодированная по 1, 2, 4 или 8 байтам. Её размеры - это размеры X.
Описание
Эти функции преобразуют и хранят данные в виде одно-, двух-, четырёх- или восьмибайтных целых чисел. Эти типы данных особо полезны для хранения больших объектов таких, как изображения, длинные сигналы,...
Если какие-то десятичные элементы int8([-3.6, -2.5, -1.4, 1.3, 3.5, 6.7]) // = [-3, -2, -1, 1, 3, 6] .
Значения элемнтов
-%inf всегда преобразуется в нижний предел интервала (см. ниже). %inf всегда преобразуется в верхний предел интервала (см. ниже).. %nan всегда преобразуется в 0. Если [%f %t] всегда преобразуются в [0 1]. |
Чтение больших литеральных целых числе с помощью int64 или uint64:
Любой ввод, например |
Преобразование [] всегда сохраняет в исходном виде, тип 1 (десятичный тип). |
Функция | y в | = |
---|---|---|
int8(X) | [- 27, 27-1] | [-128, 127] |
int16(X) | [- 215, 215-1] | [-32768, 32767] |
int32(X) | [- 231, 231-1] | [-2147483648, 2147483647] |
int64(X) | [- 263, 263-1] | [-9223372036854775808, 9223372036854775807] |
uint8(X) | [0, 28-1] | [0, 255] |
uint16(X) | [0, 216-1] | [0, 65535] |
uint32(X) | [0, 232-1] | [0, 4294967295] |
uint64(X) | [0, 264-1] | [0, 18446744073709551615] |
Примеры
Округление до 0 и завороты, и особые значения:
int8([-11.7 -8.5 -6.4 6.4 8.5 11.7]) int8([-130 -129 -128 -127 126 127 128 129]) a = -129 + 256*(-3:3) int8(a) int8([-%inf %inf %nan])
--> int8([-11.7 -8.5 -6.4 6.4 8.5 11.7]) ans = -11 -8 -6 6 8 11 --> int8([-130 -129 -128 -127 126 127 128 129]) ans = 126 127 -128 -127 126 127 -128 -127 --> a = -129 + 256*(-3:3) a = -897. -641. -385. -129. 127. 383. 639. --> int8(a) ans = 127 127 127 127 127 127 127 --> int8([-%inf %inf %nan]) ans = -128 127 0
О заворотах и верхних пределах беззнаковых целых чисел:
--> uint8([-1 %inf]) ans = 255 255 --> uint16([-1 %inf]) ans = 65535 65535 --> uint32([-1 %inf]) ans = 4294967295 4294967295 --> uint64([-1 %inf]) ans = 18446744073709551615 18446744073709551615
Преобразование 64-битных целых чисел в десятичные числа со снижением их точности:
--> i = uint64(2)^63 - 600 i = 9223372036854775208 --> i - uint64(double(i)) ans = 424
Преобразование логических и комплексных чисел:
int8([%f %t]) int8(-10.2 + 3.4*%i) uint8(-10.2 + 3.4*%i)
--> int8([%f %t]) ans = 0 1 --> int8(-10.2 + 3.4*%i) ans = -10 --> uint8(-10.2 + 3.4*%i) ans = 246
Чтение литеральных int64 или uint64 целых чисел, больше, чем 2^53, без эффекта обрезания плавающей точки:
a = [uint64(1000000000000001000) ; uint64("1000000000000001000")] typeof(a) a = [int64(-1000000000000001000) ; int64("-1000000000000001000")] typeof(a)
--> a = [uint64(1000000000000001000) ; uint64("1000000000000001000")] a = 1000000000000001024 1000000000000001000 --> typeof(a) ans = "uint64" --> a = [int64(-1000000000000001000) ; int64("-1000000000000001000")] a = -1000000000000001024 -1000000000000001000 --> typeof(a) ans = "int64"
[] не преобразуется:
--> i = uint16(3); --> i(1,2) = 5.6 i = 3 5 --> typeof(i) ans = uint16 --> i = uint16([]) i = [] --> i(1,2) = 2.3 i = 0. 2.3 --> typeof(i) ans = constant
Смотрите также
- iconvert — преобразование в 1- или 8-байтное представление целого числа
- inttype — возвращает тип целых чисел, используемых в типах целочисленных данных
- double — converts inttype integers or booleans into decimal encoding
- dec2bin — преобразование из десятичной системы счисления в двоичную
- dec2base — преобразование десятичного числа в число системы счисления по основанию N в строке
История
Версия | Описание | |||||||||||||||||||||
6.0 |
| |||||||||||||||||||||
6.1.2 | int64 и uint64 расширены до строк, чтобы
читать большие целые числа > 253 без обрезания. |
Report an issue | ||
<< iconvert | Целые числа | inttype >> |