微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

16位二进制前导零

如何解决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。我该怎么做?     

解决方法

只需将整个字符串加2 ^ 17和
substring
anyLines[i] = Integer.toBinaryString(131072 + (Integer.parseInt(anyLines[i]))).substring(1,17);
    ,设置二进制字符串后,只需检查字符串长度,并在字符串的前面附加足够的零,以使其长度为16个字符。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。