首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中打印8位二进制转换

在java中打印8位二进制转换
EN

Stack Overflow用户
提问于 2020-06-29 18:05:28
回答 3查看 433关注 0票数 0

我只是想用java做一个十进制到二进制的转换器,我想要显示的是这样的:

代码语言:javascript
复制
Binary 41 is 00101001

但是,这是我刚刚做的展示:

代码语言:javascript
复制
Binary 41 is: 101001

下面是我的代码:

代码语言:javascript
复制
public void convertBinary(int num){
int binary[] = new int[40];
int index = 0;

while(num > 0){
  binary[index++] = num % 2;
  num/=2;
}
for(int i = index-1; i >= 0; i--){
  System.out.print(binary[i]);
}

我能做什么,使一个8位二进制显示?我非常感谢你给我的所有答复,谢谢

EN

回答 3

Stack Overflow用户

发布于 2020-06-29 18:28:25

使用

代码语言:javascript
复制
System.out.format("%08d%n", binary[i]); 

而不是

代码语言:javascript
复制
System.out.print(binary[i]);

System.out.format("%08d%n", binary[i]);中的"%08d%n"将输出格式化为8位整数。

注意:这里有更多的例子:https://docs.oracle.com/javase/tutorial/java/data/numberformat.html

票数 0
EN

Stack Overflow用户

发布于 2020-06-29 19:12:47

如果num保证小于256,那么对现有代码最简单的更改就是将循环条件更改为index < 8

代码语言:javascript
复制
while(index < 8){
  binary[index++] = num % 2;
  num/=2;
}

这直接表达了拥有8位数字的愿望。也就是说,当您转换完所有非零位时,您根本不会停止。

票数 0
EN

Stack Overflow用户

发布于 2020-06-29 18:24:17

代码语言:javascript
复制
int t;
byte val = 123;

for(t = 128; t > 0; t = t/2){
    if((val & t) != 0) System.out.print("1 ");
    else System.out.print("0 ");
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62635751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档