
La funzione dec2bin() di Scilab
La funzione dec2bin() di Scilab ti consente di convertire un numero decimale in una stringa binaria.
dec2bin(x,n)
La funzione ha due parametri:
- Il parametro x è un numero intero decimale. E' obbligatorio.
- Il parametro n è il numero di cifre del numero binario. E' facoltativo.
La funzione calcola e restituisce una stringa con la rappresentazione binaria del numero, ossia lo stesso numero in base 2.
L'argomento x può essere anche un array di numeri interi. In questo caso, la funzione restituisce un array di stringhe con i numeri binari corrispondenti.
Ecco un esempio per chiarire le idee.
Digita il comando dec2bin(10) sulla riga di comando
dec2bin(10)
La funzione converte il numero intero 10 nella stringa "1010" che rappresenta il numero dieci in binario.
ans=
"1010"
In questo caso non hai documentato il secondo argomento. Quindi, è Scilab a decidere la lunghezza della stringa.
Ora, supponi di volere dei numeri binari lunghi 8 cifre.
In questo caso devi digitare dec2bin(10,8)
dec2bin(10,8)
Scilab converte il numero decimale 10 in una stringa con il numero binario corrispondente "00001010" usando 8 cifre.
ans=
"00001010"
L'argomento della funzione dec2bin() può anche essere un array.
Ad esempio, elabora un array con quattro elementi numerici
dec2bin([1,2,3,4])
La funzione converte ogni singolo elemento nel corrispondente numero binario e restituisce un array
ans=
"001" "010" "011" "100"
Ricorda, il valore di ritorno della funzione dec2bin() è sempre una stringa. Quindi, non puoi usarlo per svolgere dei calcoli, sempre prima convertirla in un numero.
Ad esempio, questo comando non somma i numeri binari 1010+1010
dec2bin(10)+dec2bin(10)
Bensì concatena le due stringhe "1010"+"1010"
"10101010"
La somma dei numeri 1010+1010 è, invece, il numero binario 10100
dec2bin(bin2dec("1010")+bin2dec("1010"))
"10100"
Infine, Scilab ti permette anche di svolgere l'operazione inversa, ossia convertire un numero binario in decimale.
In questo caso devi usare la funzione bin2dec().