Ce face int.toRadixString
toRadixString(radix) scrie numărul în baza aleasă, între 2 și 36: 10.toRadixString(2) este '1010', 255.toRadixString(16) este 'ff'. Literele sunt mici; pentru culori CSS sau coduri le poți face mari cu toUpperCase() și completa cu zerouri cu padLeft.
bitLength este numărul minim de biți necesari pentru a scrie numărul în binar, fără semn: 5 (101) are bitLength 3, iar 0 are 0. Pentru numere negative se numără biții valorii complementare ((-1).bitLength este 0).
Parametri
| Parametru | Descriere |
|---|---|
radix |
Baza în care se scrie numărul (2–36). |
Ce returnează
toRadixString: un String. bitLength: un int.
Exemple
Exemplul 1: Binar, octal, hexazecimal
void main() {
var n = 202;
print(n.toRadixString(2));
print(n.toRadixString(8));
print(n.toRadixString(16));
print(n.toRadixString(36));
print((-10).toRadixString(2));
print('$n are nevoie de ${n.bitLength} biți');
}
Rezultat
11001010
312
ca
5m
-1010
202 are nevoie de 8 biți
Exemplul 2: Culoare CSS din componente RGB
String hex(int componenta) => componenta.toRadixString(16).padLeft(2, '0').toUpperCase();
void main() {
var rosu = 0, verde = 43, albastru = 127;
print('#${hex(rosu)}${hex(verde)}${hex(albastru)}');
for (var x in [1, 2, 255, 256, 1024]) {
print('$x: bitLength = ${x.bitLength}');
}
}
Rezultat
#002B7F
1: bitLength = 1
2: bitLength = 2
255: bitLength = 8
256: bitLength = 9
1024: bitLength = 11
Greșeli frecvente
- Aștepți zerouri în față:
5.toRadixString(2)dă'101', nu'00000101'. Completează cupadLeft(8, '0'). - Pentru a citi înapoi textul folosește
int.parse(text, radix: 16), nuint.parse(text).
Comenzi înrudite
int.toString: toString() transformă numărul în text; toStringAsFixed(n) îl scrie cu exact n zecimale.int.parse: Transformă un text în număr întreg; parse aruncă FormatException la text greșit, tryParse returnează null.String.padLeft: Completează textul în stânga (padLeft) sau în dreapta (padRight) până ajunge la o lungime dată.