int.toRadixString în Dart

toRadixString scrie numărul în altă bază (binar, hexazecimal); bitLength spune câți biți îi trebuie.

Sintaxă
String toRadixString(int radix)
int get bitLength

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ă cu padLeft(8, '0').
  • Pentru a citi înapoi textul folosește int.parse(text, radix: 16), nu int.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ă.