当前位置: 首页 > 知识库问答 >
问题:

用java打印8位二进制转换

杭曦
2023-03-14

我只是想在java中做一个十进制到二进制的转换器,我想显示的应该是这样的:

Binary 41 is 00101001

但是,这里展示了我刚刚制作的内容:

Binary 41 is: 101001

这是我的代码:

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位二进制?非常感谢你给我的所有回答,谢谢

共有3个答案

侯涵煦
2023-03-14
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 ");
}
能钟展
2023-03-14

如果num保证小于256,则现有代码最简单的更改是将循环条件更改为index

while(index < 8){
  binary[index++] = num % 2;
  num/=2;
}

这直接表示希望有8个数字。也就是说,当您转换了所有非零位时,您不会停止。

壤驷雅达
2023-03-14

使用

System.out.format("%08d%n", binary[i]); 

而不是

System.out.print(binary[i]);

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

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

 类似资料:
  • 我编写了简单的java代码将十进制转换为8位二进制:很抱歉这个愚蠢的问题 //int j=8-结果。长度();//对于(int i=0;i 结果是:dec长度为:1****反转前8位:10000 8位表示:00001 但当我删除第13行时(结果=0;)编译器打印7星号(*),原因是什么?每次都会更新结果的长度

  • 问题内容: 我有一个数字,我想以二进制形式打印。我不想通过编写算法来做到这一点,Java中是否有任何内置函数? 问题答案: 假设你的意思是“内置”: 请参阅整数文档。 (Long具有类似的方法,具有可在其中指定基数的实例方法。)

  • 问题内容: 我正在尝试将字节值转换为二进制以进行数据传输。基本上,我要在字节数组(“ 10101100”是单个字节)中以二进制(“ 10101100”)的形式发送类似“ AC”的值。我希望能够接收此字节并将其转换回“ 10101100”。截至目前,我还没有成功,完全不知道从哪里开始。任何帮助都会很棒。 编辑 :对所有混乱,抱歉,我没有意识到我忘记添加特定的细节。 基本上,我需要使用字节数组通过套接

  • 问题内容: 我正在尝试编写将数字转换为二进制的代码,这就是我写的。它给了我一些我不理解的Eclipse错误。怎么了 还有其他建议吗?我想学习并听取任何修复建议。谢谢。 错误消息: 类型中的方法不适用于参数() 这行有多个标记 令牌“ ”的语法错误,;; 预期 令牌“ ”的语法错误,;; 预期 是变量的无效类型 这行有多个标记 令牌“ mod”的语法错误,无效的AssignmentOperator

  • 本文向大家介绍十进制到二进制转换,包括了十进制到二进制转换的使用技巧和注意事项,需要的朋友参考一下 十进制数字也可以转换为二进制格式。要将十进制数转换为二进制数,我们需要将数字除以2,直到达到0或1。然后,在每一步骤中,其余部分将分开存储以形成相反的二进制等效数。 在此算法中,我们将遵循递归方法。这将帮助我们在不使用堆栈数据结构的情况下解决问题。在实现中,我们知道函数的递归将遵循内部堆栈。我们将使

  • 我可以运行这个程序,但由于某些原因,它会显示/放置随机字符,而不是二进制的初始值,而且我似乎无法将程序从十进制运行回二进制。我该如何改进这些代码。要明确说明它不会将二进制转换为十进制,我将如何将其转换回十进制转换为二进制,如果有一些代码可以帮助我,将不胜感激。