zb9392 2017-07-15 04:36 采纳率: 100%
浏览 1704
已采纳

如何用println 输出8位二进制码?

 public class DAC_OUT{
    public static void main (String args[]){
        float a[]=new float[args.length];
        float f=0;
        int t=0;
        int p;
        String b=new String();
        b=Integer.toBinaryString(t);
        for(int i=0;i<args.length;i++)
            a[i]=Float.parseFloat(args[i]);
        f=((a[0]/4)*255)/5;
        t=(int)f;
        System.out.println(f);
        System.out.println(t);
        System.out.println(Integer.toBinaryString(t));
        System.out.println(b);
    }
}

Integer.toBinaryString()方法可以变为二进制,但是如何补全前面的0?
萌新才学一个月。

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-07-15 05:38
    关注

    /**
    * @作者 尧
    * @功能 String左对齐
    */
    public static String padLeft(String src, int len, char ch) {
    int diff = len - src.length();
    if (diff <= 0) {
    return src;
    }

        char[] charr = new char[len];
        System.arraycopy(src.toCharArray(), 0, charr, 0, src.length());
        for (int i = src.length(); i < len; i++) {
            charr[i] = ch;
        }
        return new String(charr);
    }
    /**
     * @作者 尧
     * @功能 String右对齐
     */
    public static String padRight(String src, int len, char ch) {
        int diff = len - src.length();
        if (diff <= 0) {
            return src;
        }
    
        char[] charr = new char[len];
        System.arraycopy(src.toCharArray(), 0, charr, diff, src.length());
        for (int i = 0; i < diff; i++) {
            charr[i] = ch;
        }
        return new String(charr);
    }
    

    使用
    System.out.println(padRight(str, 8, '0'));

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊