Documentation Center

  • Trial Software
  • Product Updates
我们为许可用户提供了部分翻译好的中文文档。您只需登录便可查阅这些文档

int64

Convert to 64-bit signed integer

Syntax

intArray = int64(array)

Description

intArray = int64(array) converts the elements of an array into signed 64-bit (8-byte) integers of class int64.

Input Arguments

array

Array of any numeric class, such as single or double. If array is already of class int64, the int64 function has no effect.

Output Arguments

intArray

Array of class int64. Values range from –263 to 263 – 1.

The int64 function maps any values in array that are outside the limit to the nearest endpoint. For example,

int64(2^63)   % 2^63 = 9223372036854775808

returns

ans =
    9223372036854775807

Examples

Convert a literal value to int64:

x = int64(9007199254740993);

Alternatives

When preallocating integer arrays, specify the class in the call to functions that support a class name input (such as zeros, ones or eye), rather than calling an integer conversion function. For example,

I = int64(zeros(100));     % Creates an intermediate array

is not as efficient as

I = zeros(100, 'int64');   % Preferred 

More About

expand all

Tips

Double-precision floating-point numbers have only 52 bits in the mantissa. Therefore, double values cannot represent all integers greater than 253 correctly. Before performing arithmetic operations on values larger than 253 in magnitude, convert the values to 64-bit integers. For example,

x = int64(2^53+1);     % Floating-point arithmetic, loses precision

is not as accurate as the 64-bit integer arithmetic operation:

x = int64(2^53) + 1;   % Preferred

See Also

| | | | | | | | | |

Tutorials

Was this topic helpful?