toString
do tipo number
.Uso Simples
A função toString
possui um único argumento, em Inglês chamado de radix
, que refere a base a usada para produzir a string
. No caso do número binário, a base é 2. Logo, o código seria:
const emDecimal_Number = 255;
const emBinario_String = emDecimal_Number.toString(2);
console.assert(emBinario_String === '11111111');
De String de Números
Note que estamos falando da função Number.toString(radix)
, logo, ela só existe em variáveis do tipo number
. Para converter uma string
em decimal para uma string
em binário, é necessário primeiro converter a entrada para number
usando uma função como parseInt
para números inteiros ou parseFloat
para números racionais.
const emDecimal_String = '255';
const emDecimal_Number = parseInt(emDecimal_String);
const emBinario_String = emDecimal_Number.toString(2);
console.assert(emBinario_String === '11111111');
Sem Variável
Para converter um valor sem usar uma variável, é necessário o uso de parênteses, já que o ponto (.
) é ambíguo entre separador decimal (e.g. 3.14
) e operador para acesso de membro (Number.toString
).
const emBinario_String = (255).toString(2); // correto
const emBinario2_String = 255.toString(2); // erro de sintaxe
Números Binários Literais
Note que de qualquer forma o tipo retornado é string
, ou seja, é texto, é uma representação textual de um valor como número binário. Não existe um tipo de number
para números binários em Javascript. Porém, há como usar números escritos no formato binário diretamente através do prefixo 0b
.
const emBinario_Number = 0b11111111;
console.assert(emBinario_Number === 255);
Como a arimética é a mesma para tanto números decimais como binários, também é possível usar esse código em adições, subtrações, etc.
console.assert(0b1000 + 0b1000 === 16);
console.assert(0b1000 * 2 === 16);
console.assert(0b1000 * 0b10 === 16);
Deixe um comentário