【发布时间】:2016-08-19 05:50:16
【问题描述】:
在使用 Java 编程一段时间后,我正在努力适应 C,我需要帮助。我正在寻找的是一种接受以下输入的方法:
- 整数
n,要转换成二进制字符串(字符数组)的那个。 -
整数
length,定义字符串的长度(左起未填充二进制数的位置将设置为默认0)。//Here's some quick code in Java to get a better understanding of what I'm looking for: public static String convertToBinary(int length, int n) { return String.format("%1$" + bit + "s", Integer.toBinaryString(value)).replace(' ', '0'); } System.out.println(convertToBinary(8,1)); // OUTPUT: 00000001 (not just 1 or 01)
任何关于这在 C 中的等价物的提示?另外,您能否提供一个如何返回生成的二进制字符串的示例?
(不是重复的,因为我要查找的是“00000001”,而不仅仅是“1”)
【问题讨论】:
-
请我引用您的“在 Java 编程一段时间后 [...] 我需要帮助”?
-
“不重复” - 可能有 2 个重复,每个问题一个。
-
如果号码占用超过
n位数怎么办?它应该截断还是增长? -
OP 说它是 Java。
-
你必须自己编写一个二进制格式化程序。对于十六进制,您可以使用 printf;十六进制通常一样好(每个数字四位)......要自己编写,我会使用查找表。