神戸プログラミングアカデミーのブログ

「未経験から」「スキルアップ」「起業を目指す」無料で学べる神戸のプログラミング学校&学習コミュニティ

与えられた数値を2進数に変換するメソッドを作成せよ

与えられた数値(Number型)を2進数(String型)に変換する関数 numToBin() を作成せよ

ただし、JavaScriptの標準関数(toString()等)の使用を禁止する。Math.floor()はOK

function numToBin(num) {
    return "文字列"
}
console.log(numToBin(Number(process.argv[2])))

解答例

function numToBin(num) {
    let ret = ""
    do {
        ret = (num % 2 ? "1" : "0") + ret
        num = Math.floor(num / 2)
    } while (num > 0)
    return ret
}
console.log(numToBin(Number(process.argv[2])))

C言語での解答例(再帰を使用)

void intToBin(int num, char* buf, size_t buf_size){
  if(num > 0){
    intToBin(num >> 1, buf, buf_size);
    strlcat(buf, num & 1 ? "1" : "0", buf_size);
  }
}