标签: 面试

  • 转换二进制

    今天面试某司,竟然把数字转换成2进制表示的字符串写错了。。。

    写个正确的版本提醒一下。。。

    
    typedef stack<char> CharStack;
    
    void binary(unsigned int num, char *out)
    {
      CharStack tmpStack;
      while(num)
      {
        tmpStack.push((num % 2) + '0');
        num /= 2;
      }
    
      int i = 0;
      while(!tmpStack.empty())
      {
        out[i++] = tmpStack.top();
        tmpStack.pop();
      }
      out[i] = 0;
    }
    
    

    二面应该是没有了。。。