16 位二进制前导零
我正在使用这样的 toBinaryString 转换方法:
for (i=0; i<anyLines.length; i++) {
if (anyLines[i].startsWith("@")) {
anyLines[i] = anyLines[i].replace("@","");
anyLines[i] = Integer.toBinaryString((Integer.parseInt(anyLines[i])));
}
else {
continue;
}
但是当我写入文件时,二进制文件只有 2 位长,尽管我想要一个全为零的 16 位二进制文件。例如,2 被翻译为 10,但我想要 0000000000000010。我该怎么做?
I am using toBinaryString translation method like this:
for (i=0; i<anyLines.length; i++) {
if (anyLines[i].startsWith("@")) {
anyLines[i] = anyLines[i].replace("@","");
anyLines[i] = Integer.toBinaryString((Integer.parseInt(anyLines[i])));
}
else {
continue;
}
But when I write to a file, the binary is only 2 bits long, though I want a 16 bit binary with all the zeros. For example, 2 is translated as 10, though I'd like to have 0000000000000010. How can I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只需添加 2^17 和整个字符串的
substring
即可:Just add 2^17 and
substring
the whole string:设置二进制字符串后,只需检查字符串长度并在字符串前面附加足够的零以使其长度为 16 个字符。
After you set the binary string just check the string length and append enough zeros to the front of the string to make it 16 chars long.