dong手dong脑
Posted yanwenhui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dong手dong脑相关的知识,希望对你有一定的参考价值。
1 yuan码fan码bu码
程序实现验证
package complement; import java.util.Scanner; public class complement public static void main(String[] args) Scanner sc = new Scanner(System.in); System.out.println("请输入一个(-127)-128的整数a"); int Originala; int Originalb; while (true) Originala = sc.nextInt(); if (Originala >= -127 && Originala <= 128) System.out.println("a的原码是:" + getBinary(Originala)); if (Originala > 0) System.out.println("a的反码是:" + getBinary(Originala)); System.out.println("a的补码是:" + getBinary(Originala)); else System.out.println("a的反码是:" + getReverse(getBinary(Originala))); System.out.println("a的补码是:" + getComplement(getReverse(getBinary(Originala)))); break; else System.out.println("超出范围,请重新输入"); System.out.println("请输入一个(-127)-128的整数a"); while (true) Originalb = sc.nextInt(); if (Originalb >= -127 && Originalb <= 128) System.out.println("b的原码是:" + getBinary(Originalb)); if (Originalb > 0) System.out.println("b的反码是:" + getBinary(Originalb)); System.out.println("b的补码是:" + getBinary(Originalb)); else System.out.println("b的反码是:" + getReverse(getBinary(Originalb))); System.out.println("b的补码是:" + getComplement(getReverse(getBinary(Originalb)))); break; else System.out.println("超出范围,请重新输入"); String ca=getComplement(getReverse(getBinary(Originala))); String cb=getComplement(getReverse(getBinary(Originalb))); int [] complementa=new int[8]; int [] complementb=new int[8]; for(int i=0;i<8;i++) complementa[i]=Integer.parseInt(ca.charAt(i)+""); complementb[i]=Integer.parseInt(cb.charAt(i)+""); System.out.println("按位与的结果:"); System.out.println(getBinary(Originala&Originalb)); System.out.println("按位异或的结果:"); System.out.println(getBinary(Originala^Originalb)); public static String getBinary(int k) String str = ""; if (k == 0) return "00000000"; else int flag = k > 0 ? 1 : 0; k = k > 0 ? k : (-k); while (k != 0) str = k % 2 + str; k = k / 2; int in = Integer.parseInt(str); if (flag == 1) str = String.format("%08d", in); else str = "1" + String.format("%07d", in); return str; public static String getReverse(String str) String str2 = ""; for (int i = 1; i < str.length(); i++) if (str.charAt(i) == ‘1‘) str2 = str2 + "0"; else if (str.charAt(i) == ‘0‘) str2 = str2 + "1"; return "1" + str2; public static String getComplement(String str) if ("11111111".equals(str)) return "00000000"; else int index = 0; String str2 = ""; int flag = (Integer.parseInt(str.charAt(7) + "") + 1) == 2 ? 1 : 0;// 1表示进位,0表示不用进位 if (flag == 1) for (int i = str.length() - 1; i >= 0; i--) if (flag == 1)// 需要进位的话 if (Integer.parseInt(str.charAt(i) + "") + 1 == 2) str2 = "0" + str2; flag = 1; else if (Integer.parseInt(str.charAt(i) + "") + 1 == 1) str2 = "1" + str2; index = i; break; str2 = str.substring(0, index) + str2; else str2 = str.substring(0, 7) + "1"; return str2;
2.同名变量的pingbi原则
输出结果
3.
byte(8),short(16),int(32), long(64) 浮点型: float(32), double(64)
由精度较高向精度较低的数据类型转换无精度损失,由精度较低向精度较高的数据类型转换会损失精度
4
浮点数在计算机中的存储机制
5 字符串拼接
以上是关于dong手dong脑的主要内容,如果未能解决你的问题,请参考以下文章
linux 内核---------董昊 ( Robin Dong ) and OenHan