Oi, Carlos, tudo bem?
Sim, essa função retorna apenas números entre 0 e 1, mas o 1 não é incluso. Uma dica sobre quando você tem dúvidas sobre um recurso da linguagem é pesquisar sobre ela na documentação da MDN. Mais especificamente, a página do Math.random()
é essa: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Math/random
Sobre o número ser gerado entre 0 e 1, não é por conta do código binário, é apenas uma conincidência de implementação da função mesmo.
Espero ter ajudado! Abraços e bons estudos :)