首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使Integer.toBinaryString返回至少4位

要使Integer.toBinaryString返回至少4位,可以使用String.format方法对其进行格式化。以下是一个示例:

代码语言:java
复制
public class Main {
    public static void main(String[] args) {
        int num = 5;
        String binaryString = Integer.toBinaryString(num);
        String formattedBinaryString = String.format("%4s", binaryString).replace(' ', '0');
        System.out.println("原始二进制字符串: " + binaryString);
        System.out.println("格式化后的二进制字符串: " + formattedBinaryString);
    }
}

在这个示例中,我们首先将整数转换为二进制字符串,然后使用String.format方法将其格式化为至少4位。%4s表示一个字符串,宽度为4,如果字符串长度小于4,则用空格填充。我们使用replace方法将空格替换为0,以确保字符串长度为4。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

脚撕LeetCode(868)Easy

如果不存在两个相邻的 1,返回 0 。 如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。...在 8 的二进制表示中没有相邻的两个 1,所以返回 0 。...但是看了一下toBinaryString的源码有点望而却步了,感觉至少时间应该会比较久,基于我对leetcode的了解,感觉内存上是比不过以前的了(不知道为什么再简单的代码内存都是30+m,以前我写过10m...最后返回countmax即可。...} return ans; } 官方方法虽然只是比我的少了0.2的内存,但是打败了比我多30%的人,果然还是学无止尽,不过自己能想到用位运算来作,说明自己已经有点走上正轨了,至少自己的胜负欲起来了

18330

Java学习历程之----基础篇(六)

此三元运算符要求返回一个结果,因此要实现简单的二分支程序,即可使用该条件运算符。运算符的学习到此也告一段落了,我们学习了这么运算符,他们在一起混用的时候,谁的优先级较高呢?我们一起来看看下表吧!...x是否同时满足两个条件 System.out.printf("x在1~100之间\n"); if(y%6==0 || y%3==0) { // 判断y是否至少满足两个条件之一...(i)); System.out.println("输出j的二进制:"+Integer.toBinaryString(j)); System.out.println("i...和j进行位与运算结果:"+Integer.toBinaryString(z1)); System.out.println("i和j进行位或运算结果:"+Integer.toBinaryString...("对i进行位取反运算:"+Integer.toBinaryString(x1)); System.out.println("对i进行向右位移1位:"+Integer.toBinaryString

22320

Java二进制和位运算,这一万字准能喂饱你

有或者往深了继续思考:如何转为八进制、十六进制、三十二进制......进制转换并非本文所想讲述的内容,请有兴趣者自行度娘。...那如何表达文字和符号呢?这就涉及到字符编码了。...我相信每个Javaer都知道Java中的Long类型占8个字节(64位),那如何证明呢?...小贴士:这算是一道经典面试题,至少我提问过多次~ 有个最简单的方法:拿到Long类型的最大值,用2进制表示转换成字符串看看长度就行了,代码如下: @Test public void test3() {...一般至少有15位剩余(此部分位数是浮动的),所以能支持2的15次方的并发,也是足够用了的 最后,在上面的long值前面加上日期时间(年月日时分秒) 这是A哥编写的一个基于位运算实现的流水号生成工具,已用于生产环境

93011

Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)

(Integer.toBinaryString(-6297));    System.out.println(Integer.toBinaryString(6297>>5));    System.out.println...(Integer.toBinaryString(-6297>>5));    System.out.println(Integer.toBinaryString(6297>>>5));    System.out.println...(Integer.toBinaryString(-6297>>>5));    System.out.println(Integer.toBinaryString(6297<<5));    System.out.println...表达式1:表达式2 运算过程:如果布尔表达式的值为true,就返回表达式1的值,否则返回表达式2的值,例如: int sum=90; String str=sum<100 ?..."成功"; 等价于下列代码: String str=null; if(num<100){   str="失败"; }else{   str="成功"; } 三目运算符和if……else语句相比,前者使程序代码更加简洁

1.1K10

聊聊Java中的位运算:与、或、非、异或、左移、右移、无符号右移【小家Java】

如何表达文字和符号呢?这就涉及到字符编码了。...Integer.valueOf("c0", 16).toString()); //192 System.out.println("---------------------------------"); } ---- 如何证明...一般至少有15位剩余,所以能支持2的15次方的并发,也是足够用了的 最后,在上面的long值前面加上日期时间(年月日时分秒) ---- 上源码 Tips:此源码为本人自己编写,自测了多种情况,若各位使用中有更好的建议...millsShift | serviceTypeShift | shortParamShift | longParamShift | randomShift; //最后前面拼接上年月日时分秒 返回出去...DateTimeFormatter.ofPattern(DATE_PATTERN)) + finalNum; } /** * 拿到指定位数的 首位数字不为0的位数,最终以十进制数返回出来

2.4K30

和算法渣一起练习--利用位运算,轻轻松松就能解决数学里的子集问题

写这个系列(我也不知道能不能坚持,至少先开一个头),就是这么想的,学一个东西,不管是啥,不仅要有输入,也要有输出,输出是什么呢,就是把我觉得已经会了的东西,讲给大家听,大家能学到一点,我也高兴;学不到,...题目描述及解析 原题链接:https://leetcode-cn.com/problems/subsets/ 这个题目,大家看上面的示例部分可以知道,就是给你一个整数集合,返回它的全部子集,比如给你一个集合...resultLength; i++){ // 使用java.lang.Integer#toBinaryString,可直观看到该int对应的二进制位 System.out.println(Integer.toBinaryString...下边的代码比较直观: int resultLength = 1 << 3; for (int i = 0; i < resultLength; i++) { System.out.println(Integer.toBinaryString...i = 0; i < arraySize; i++){ // leetcode提交时,记得注释掉,打印比较费时间 System.out.println(Integer.toBinaryString

19930

java基础类型中的char和byte的辨析及Unicode编码和UTF-8的区别

Unicode和UTF-8的对比 Unicode 需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。...比如,汉字"严"的unicode是十六进制数4E25,转换成二进制数足足有15位(100111000100101),也就是说这个符号的表示至少需要2个字节。...这里就有两个严重的问题,第一个问题是,如何才能区别Unicode和ASCII?计算机怎么知道三个字节表示一个符号,而不是分别表示三个符号呢?...char c = '中'; // java使用unicode编码,一个字符占两个字节 System.out.println("char字符 中 二进制"+Integer.toBinaryString...在Java中,基本类型char,固定占两个字节,char本质上就是一个无符号的正整数,我们可以使用Integer.toBinaryString(c))将其打印出来。

51720

实现简单的分片上传和图片处理,解决了大图片上传和显示问题

二、分片上传 本次分块上传的主要思路是: 前端发起分片上传请求到后端,后端处理生成唯一标识,返回前端 前端切割文件,并发起上传动作,后端根据表中bitMap判断是否上传,并处理上传。...每次执行完前端进度和后端返回进度只要大于99.9%就算完成,调用后端的结束接口,完成上传并校验。 2.1 表与实体 我用一张表来存储上传的图片记录,并配合实现分片上传,也可以用配置文件这种形式。...2.2 服务端处理分块上传 2.2.1 开始上传接口 该接口的动作是前端发起分片上传请求到后端,后端处理生成唯一标识,返回前端。...@Param("resourceId") Long resourceId, @Param("bitMap") int bitMap); 因为多线程的存在,后端这个进度可能是不准确的,可以增加一次查询,使进度更准确点...在这里插入图片描述 分开上传完成有返回图片的地址,可以将图片显示在任意位置。

2.4K70

【小家java】Java中二进制与位运算(“^,&,>>,>>>”),使用移位算法写一个流水号生成器(订单号生成器)

(String[] args) { int i = Integer.MAX_VALUE; //正数长度为63为 System.out.println(Integer.toBinaryString...(i).length()); //31 i = Integer.MIN_VALUE; //负数长度为64位 System.out.println(Integer.toBinaryString...一般至少有15位剩余,所以能支持2的15次方的并发,也是足够用了的 6:最后,在上面的long值前面加上日期时间(年月日时分秒) 上源码 Tips:此源码为本人独立编写,自测多种情况,若各位使用中有更好的建议...millsShift | serviceTypeShift | shortParamShift | longParamShift | randomShift; //最后前面拼接上年月日时分秒 返回出去...DateTimeFormatter.ofPattern(DATE_PATTERN)) + finalNum; } /** * 拿到指定位数的 首位数字不为0的位数,最终以十进制数返回出来

3.6K30

面经手册 · 第3篇《HashMap核心知识,扰动函数、负载因子、扩容链表拆分深度学习(+实践验证)》

数组越小碰撞的越大,数组越大碰撞的越小,时间与空间如何取舍。 目前存放7个元素,已经有两个位置都存放了2个字符串,那么链表越来越长怎么优化。...怎么都在向右移位1、2、4、8、16,这主要是为了把二进制的各个位置都填上1,当二进制的各个位置都是1以后,就是一个标准的2的倍数减1了,最后把结果加1再返回即可。...>>> 16); System.out.println("字符串:" + key + " \tIdx(16):" + ((16 - 1) & hash) + " \tBit值:" + Integer.toBinaryString...(hash) + " - " + Integer.toBinaryString(hash & 16) + " \t\tIdx(32):" + (( System.out.println(...Integer.toBinaryString(key.hashCode()) +" "+ Integer.toBinaryString(hash) + " " + Integer.toBinaryString

43920
领券