dart:core
庫中BigInt.toSigned
方法的用法介紹如下。
用法:
BigInt toSigned(
int width
)
返回此整數的最低有效 width
位,將保留的最高位擴展到符號。這與使用帶符號的 2-s 補碼表示截斷值以適合 width
位相同。返回的值在所有高於 width
的位置具有相同的位值。
var big15 = BigInt.from(15);
var big16 = BigInt.from(16);
var big239 = BigInt.from(239);
// V--sign bit-V
big16.toSigned(5) == -big16; // 00010000 -> 11110000
big239.toSigned(5) == big15; // 11101111 -> 00001111
// ^ ^
此操作可用於從低級語言模擬算術。例如,要增加一個 8 位有符號數量:
q = (q + 1).toSigned(8);
q
將從 0
計數到 127
,換行到 -128
並重新計數到 127
。
如果輸入值適合 width
位且沒有截斷,則結果與輸入相同。避免截斷 x
所需的最小寬度是 x.bitLength + 1
,即
x == x.toSigned(x.bitLength + 1);
相關用法
- Dart BigInt.toString用法及代碼示例
- Dart BigInt.toRadixString用法及代碼示例
- Dart BigInt.toDouble用法及代碼示例
- Dart BigInt.toInt用法及代碼示例
- Dart BigInt.toUnsigned用法及代碼示例
- Dart BigInt.tryParse用法及代碼示例
- Dart BigInt.operator_divide用法及代碼示例
- Dart BigInt.from用法及代碼示例
- Dart BigInt.isValidInt用法及代碼示例
- Dart BigInt.parse用法及代碼示例
- Dart BigInt.bitLength用法及代碼示例
- Dart BigInt.gcd用法及代碼示例
- Dart BigInt.operator_truncate_divide用法及代碼示例
- Dart BigInt.compareTo用法及代碼示例
- Dart BigInt.remainder用法及代碼示例
- Dart BigInt.operator_modulo用法及代碼示例
- Dart BigInt.pow用法及代碼示例
- Dart BigInt用法及代碼示例
- Dart Base64Encoder用法及代碼示例
- Dart ByteData.view用法及代碼示例
- Dart ByteData用法及代碼示例
- Dart Base64Decoder用法及代碼示例
- Dart MapMixin.containsKey用法及代碼示例
- Dart Iterator用法及代碼示例
- Dart AttributeClassSet.intersection用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 toSigned method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。