标签:
二进制: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; } }
标签:
原文地址:http://www.cnblogs.com/b-dong/p/5915009.html