为了账号安全,请及时绑定邮箱和手机立即绑定

帮忙写个算法........

帮忙写个算法........

C
慕运维8527718 2016-10-18 18:54:43
十进制转二进制
查看完整描述

2 回答

?
慕数据2986492

TA贡献1条经验 获得超0个赞

function dec2Bin(dec){ 
  if (!Number.isInteger(dec)||dec<0) return false
  if (dec === 0) return '0'
  var binStr = ''
  while(dec > 1){
    binStr = (dec%2).toString().concat(binStr)
    dec = Math.floor(dec/2)
  }
  return '1'.concat(binStr)
}


查看完整回答
反对 回复 2016-10-19
?
慕粉4207257

TA贡献42条经验 获得超15个赞

import java.util.Stack;
public class Text4 {
 public static void main(String[] args) {
  ten_two(100);
 }
 
 public static void ten_two(int num){
  
  /**
   * x1: 存储num整出2的结果
   * x2: 存储x1对2 求余的结果
   * stack: 栈stack,存储得到的x2的值
   */
  int x1 = num;
  int x2 = 0;
  Stack<Character> stack = new Stack<>();
  
  /**
   * 如果x1>1,则循环继续
   */
  while(x1>1){
   x2 = x1%2;
   x1 /= 2;
   stack.push((char) (x2+48));
  }
  stack.push((char)(x1 + 48));
  
  System.out.print(num + "从十进制变为二进制:");
  int size = stack.size();
  for( int i = 0; i < size; i++ ){
   System.out.print(stack.pop());
  }
 }
}


查看完整回答
反对 回复 2016-10-18
?
慕运维1139315

TA贡献84条经验 获得超21个赞

讲一下我的思路x是变量  x/2,x%2纪录x%2用递归传x/2把x%2以字符串的形式+起来

查看完整回答
反对 回复 2016-10-18
  • 2 回答
  • 0 关注
  • 1590 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信