🔢

プリミティブ型に128ビット整数型があるプログラミング言語

2024/03/06に公開

大抵のプログラミング言語のプリミティブ型に64ビット整数型はありますが、128ビット整数型がある言語は少ないように思ったので調べてみました。

一覧

他にも対応している言語があるかもしれません。

言語 符号付き 符号なし 脚注
Julia Int128 UInt128 [1][2]
Rust i128 u128 [3][4]
Solidity int128 uint128 [5]
Zig i128 u128 [6]

Julia

現時点ではJuliaのプリミティブ型にこれより大きいビット数の整数型はありません。
JuliaはBaseパッケージ(標準ライブラリ)で任意精度演算をサポートしており、128ビット整数型の範囲外の整数を扱いたい場合はBigIntが利用できます。

Rust

現時点ではRustのプリミティブ型にこれより大きいビット数の整数型はありません。
また、標準ライブラリに多倍長整数型はないので、128ビット整数型の範囲外の整数を扱いたい場合はnum-bigintのような外部クレートを利用します。

Solidity

Solidityではint8uint8からint256uint256までの8の倍数の整数型が定義されています。

Zig

Zigでは65535ビットまでの任意のビット幅の整数型を宣言できます。
例えば、i7は7ビット符号付き整数型で、u256は256ビット符号なし整数型です。
任意精度演算が必要な場合は標準ライブラリのstd.math.big.intにある型が利用できます。

脚注
  1. https://docs.julialang.org/en/v1/base/numbers/#Core.Int128 ↩︎

  2. https://docs.julialang.org/en/v1/base/numbers/#Core.UInt128 ↩︎

  3. https://doc.rust-lang.org/std/primitive.i128.html ↩︎

  4. https://doc.rust-lang.org/std/primitive.u128.html ↩︎

  5. https://docs.soliditylang.org/en/v0.8.24/types.html#integers ↩︎

  6. https://ziglang.org/documentation/0.11.0/#Primitive-Types ↩︎

GitHubで編集を提案

Discussion