ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

int64

64 ビット符号付き整数の変換

構文

intArray = int64(array)

説明

intArray = int64(array) は、配列要素をクラス int64 の符号付き 64 ビット (8 バイト) 整数に変換します。

入力引数

array

single または double などの数値クラスの配列。array が既に int64 のクラスである場合、関数 int64 には影響がありません。

出力引数

intArray

クラス int64 の配列。–263 から 263 – 1 の値。

関数 int64 は、最も近いエンドポイントへの限界外にある array の値をマッピングします。たとえば、

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

は、以下を返します。

ans =
    9223372036854775807

リテラル値を int64 に変換します。

x = int64(9007199254740993);

代替方法

整数配列を事前割り当てする場合、(zerosones、または eye など) クラス名入力をサポートする関数を呼び出すクラスを指定します。たとえば、

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

は、以下ほど効率的ではありません

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

詳細

すべて展開する

ヒント

倍精度浮動小数点数の仮数には、52 ビットしかありません。そのため、double 値は、253 より大きい整数をすべて正確に表すことができません。振幅が 253 より大きい値で算術演算を実行する前に、値を 64 ビットの整数に変換してください。たとえば、

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

は、64 ビット整数の数値演算ほど正確ではありません。

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

参考

| | | | | | | | | |

チュートリアル

この情報は役に立ちましたか?