zoukankan      html  css  js  c++  java
  • 实现以(-2)代替2为底的二进制表示

    二进制:10 =(1010) = 2^3+2^1

    -2为底:10 = (11110) = (-2)^4+(-2)^3+(-2)^2+(-2)^1

    求输入一个值(十进制),求出对应的以-2为底的二进制码。

    实现如下:

    package com.dongbin.Impl;
    
    import java.util.Arrays;
    
    /**
     * 实现以-2为底的表示
     * 
     * @author dongbin
     *
     */
    public class Demo1 {
        public static void main(String[] args) {
    
            System.out.println(Fuer(10).reverse());
    
        }
    
        public static StringBuffer Fuer(int m) {
            StringBuffer sb = new StringBuffer();
            while (m != 0) {
                if (m % (-2) == 0) {
                    sb.append(0);
                    m = m / (-2);
                } else {
                    sb.append(1);
                    if (m < 0) {
                        m = (m - 1) / (-2);
                    } else {
                        m = m / (-2);
                    }
                }
            }
    
            return sb;
    
        }
    
    }
  • 相关阅读:
    算法
    ximalaya-spider
    无名小站
    python send email
    spider-bilibili
    windows镜像
    python 爬取豆瓣电影写入到excel中
    pdf 转 word
    文档分割、合并
    文档合并
  • 原文地址:https://www.cnblogs.com/b-dong/p/5915009.html
Copyright © 2011-2022 走看看