英語版
このページの英語版を見る
std.int128
符号付き 128 ビット整数型を実装する。
作者 ウォルター・ブライト
License:
出典 std/int128.d
- struct
Int128; - 128ビット符号付き整数型。
- Cent
data; - コア.int128.セント
- pure nothrow @nogc @safe this(long
lo); - long 値からInt128 を構築する。 上位64ビットは符号拡張で形成される。Parameters:
long lo符号付き下位64ビット - pure nothrow @nogc @safe this(ulong
lo); - ulong の値からInt128 を構築する。 上位64ビットはゼロに設定される。Parameters:
ulong lo符号なし下位64ビット - pure nothrow @nogc @safe this(long
hi, longlo); - long の値からInt128 を構築する。Parameters:
long hi上位64ビット long lo下位64ビット - pure nothrow @nogc @safe this(Cent
data); - Cent からInt128 を構築する。Parameters:
Cent dataセント・データ - const pure nothrow @nogc @safe size_t
toHash(); - Returns:Int128のハッシュ値
- const pure nothrow @nogc @safe bool
opEquals(longlo); - 等しいかどうかを比較するParameters:
long lo比較する符号付き値 Returns:Int128が値と等しい場合は真 - const pure nothrow @nogc @safe bool
opEquals(ulonglo); - 等しいかどうかを比較するParameters:
ulong lo比較する符号なし値 Returns:Int128が値と等しい場合は真 - const pure nothrow @nogc @safe bool
opEquals(Int128op2); - 等しいか比較するParameters:
Int128 op2比較する値 Returns:Int128 と値が等しければ真 - const Int128
opUnary(string op)()
if (op == "+"); - 単項演算子 + をサポートするParameters:
op "+" Returns:結果の"l値 - const Int128
opUnary(string op)()
if (op == "-" || op == "~"); - 単項演算子 ~ をサポートするParameters:
op "-", "~" Returns:結果の"l値 - Int128
opUnary(string op)()
if (op == "++" || op == "--"); - 単項演算子 ++ -- をサポートする。Parameters:
op "++", "--" Returns:結果の"l値 - const bool
opCast(T : bool)(); - boolへのキャストをサポートするParameters:
T ブール Returns:値がゼロでない場合にtrueを返す。 - const T
opCast(T : long)()
if (is(byte : T)); - 積分型へのキャストをサポートする。Parameters:
T 積分型 Returns:値の下位ビットはTとして再解釈される。Examples:const Int128 a = Int128(0xffff_ffff_ffff_ffffL, 0x0123_4567_89ab_cdefL); writeln(cast(long)a); // 0x0123_4567_89ab_cdefL writeln(cast(int)a); // 0x89ab_cdef writeln(cast(byte)a); // cast(byte)0xef
- const T
opCast(T : real)(); - 浮動小数点型へのキャストをサポートする。Parameters:
T 浮動小数点型 Returns:環境依存の浮動小数点にキャストされた値。 値が正確に表現できない場合は丸めるExamples:const Int128 a = Int128(-1L << 60); writeln(cast(double)a); // -(2.0^^60) writeln(cast(double)(a * a)); // 2.0^^120
- const Int128
opBinary(string op)(Int128op2)
if (op == "+" || op == "-" || op == "*" || op == "/" || op == "%" || op == "&" || op == "|" || op == "^");
const Int128opBinary(string op, Int)(const Intop2)
if ((op == "+" || op == "-" || op == "*" || op == "/" || op == "%" || op == "&" || op == "|" || op == "^") && is(Int : long) && __traits(isIntegral, Int));
const Int128opBinary(string op, IntLike)(auto ref IntLikeop2)
if ((op == "+" || op == "-" || op == "*" || op == "/" || op == "%" || op == "&" || op == "|" || op == "^") && is(IntLike : long) && !__traits(isIntegral, IntLike));
const Int128opBinaryRight(string op, Int)(const Intop2)
if ((op == "+" || op == "-" || op == "*" || op == "/" || op == "%" || op == "&" || op == "|" || op == "^") && is(Int : long) && __traits(isIntegral, Int));
const Int128opBinaryRight(string op, IntLike)(auto ref IntLikeop2)
if ((op == "+" || op == "-" || op == "*" || op == "/" || op == "%" || op == "&" || op == "|" || op == "^") && is(IntLike : long) && !__traits(isIntegral, IntLike));
const Int128opBinary(string op)(longop2)
if (op == "<<");
const Int128opBinary(string op)(longop2)
if (op == ">>");
const Int128opBinary(string op)(longop2)
if (op == ">>>"); - 二項演算子 + - * / % & | ^ << >> >> をサポートする。Parameters:
op 算術二進演算子の1つ Int128 op2第2オペランド Returns:演算後の値 - ref Int128
opOpAssign(string op)(Int128op2)
if (op == "+" || op == "-" || op == "*" || op == "/" || op == "%" || op == "&" || op == "|" || op == "^" || op == "<<" || op == ">>" || op == ">>>");
ref Int128opOpAssign(string op, Int)(auto ref Intop2)
if ((op == "+" || op == "-" || op == "*" || op == "/" || op == "%" || op == "&" || op == "|" || op == "^" || op == "<<" || op == ">>" || op == ">>>") && is(Int : long)); - 算術代入演算子 += -= *= /= %= &= |= ^= <<= >>= >>=Parameters:
op のいずれか。 Int128 op2第2オペランド Returns:更新された左オペランドのl値 - const pure nothrow @nogc @safe int
opCmp(Int128op2);
const pure nothrow @nogc @safe intopCmp(Int)(const Intop2)
if (is(Int : long) && __traits(isIntegral, Int));
const intopCmp(IntLike)(auto ref IntLikeop2)
if (is(IntLike : long) && !__traits(isIntegral, IntLike)); - 算術比較演算子 < <= > >= をサポートする。Parameters:
Int128 op2右オペランド Returns:-より小さい場合は1、等しい場合は0、より大きい場合は1 - const void
toString(Writer, FormatSpec)(ref scope Writersink, ref scope const FormatSpecfmt); - Int128 を、%d 、%x 、%X 、%s のいずれかでフォーマットする(%d と同じ)。Parameters:
Writer sink出力範囲 に書き込む。 FormatSpec fmtA std.format.FormatSpec数値の表示方法を制御する の表示方法を制御する。 Throws:std.format.FormatException書式指定子が d'、'x'、'X'、's'のいずれかでない場合。See Also:Examples:toStringが直接呼び出されることはほとんどない。 std.format.format:import std.format : format; writeln(format("%s", Int128.max)); // "170141183460469231731687303715884105727" writeln(format("%s", Int128.min)); // "-170141183460469231731687303715884105728" writeln(format("%x", Int128.max)); // "7fffffffffffffffffffffffffffffff" writeln(format("%X", Int128.max)); // "7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" writeln(format("%032X", Int128(123L))); // "0000000000000000000000000000007B" writeln(format("%+ 40d", Int128(123L))); // " +123" writeln(format("%+-40d", Int128(123L))); // "+123 "
Examples:また、wchar またはdchar としてフォーマットすることもできる。import std.conv : to; writeln(to!wstring(Int128.max)); // "170141183460469231731687303715884105727"w writeln(to!dstring(Int128.max)); // "170141183460469231731687303715884105727"d
- enum Int128
min; - 最小値
- enum Int128
max; - 最大値
Copyright © 1999-2025 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
サイト全体のドキュメントのdmdのバージョン: 2.109.1
最新のdmdのバージョン: 2.111.0 ダウンロード
翻訳日付:
HTML生成日時:
編集者: dokutoku