题目
思路
进制转换:
因为0不会进入循环所以把零单独拿出来处理
因为涉及到负数向上向下取整的问题因此把负数单独拿出来处理
代码
/**
* @param {number} num
* @return {string}
*/
var convertToBase7 = function(num) {
if(num == 0) return "0";
let str = "";
let isPositive = true;
if(num < 0){
num = -num;
isPositive = false;
}
while(num != 0){
str =num % 7 + str;
num = num / 7 >> 0; //右移零相当于向下取整
}
return isPositive ? str : '-' + str;
};