package jvm.util.code; /** * Created by Haochen on 2017/1/5. */ public class PureInteger extends Getter { @Override public double value(String trueCode) { char[] array = trueCode.toCharArray(); int result = 0; for (int i = array.length - 1, r = 1; i > 0; --i, r *= 2) { result += Integer.parseInt("" + array[i]) * r; } if (trueCode.startsWith("1")) { result *= -1; } return result; } @Override public Code valueCode(String trueCode) { return new ValueCode(trueCode.startsWith("1") ? trueCode.replaceFirst("1", "-") : trueCode.replaceFirst("0", "")); } @Override public void expand(Code code, int bit, int fill) { StringBuilder builder = new StringBuilder(code.code); for (int i = code.code.length(); i < bit; ++i) { builder.insert(1, fill); } code.code = builder.toString(); } }