【发布时间】:2018-02-23 16:28:41
【问题描述】:
我编写了简单的 java 代码来将十进制转换为 8 位二进制: 对不起这个愚蠢的问题
1 int dec=1;
2 String result="";
3 String reverse = "";
4 while(dec!=0)
5 {
6 result+=dec%2;
7 dec=dec/2;
8 }
9 //8-Bit Binary
10 System.out.println("dec length is :"+result.length());
// int j=8-result.length(); // for(int i=0;i
11 for(int i=0;i<(8-result.length());i++)
12 {
13 result+=0;
14 System.out.println("*");
15 }
16 System.out.println("8-Bit before reverse:"+result);
17 for(int i = result.length() - 1; i >= 0; i--)
18 {
19 reverse = reverse + result.charAt(i);
20 }
21 System.out.println("8-bit representation:"+reverse);
结果是: dec长度为:1 * * * * 反转前8位:10000 8位表示:00001
但是当我删除第 13 行 (result+=0;) 时,编译器会打印 7 星号 (*),这是什么原因?结果的长度每次都会更新
【问题讨论】:
标签: java