java进制转换(无视正负数的差别)

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤其是对于负数这一方面。

下面和大家分享一下,这里只写了十进制到二进制的转换,其实都是同样的道理

 1 public class Test1 {
 2 
 3     public static void main(String[] args) {
 4         toBin(-4);
 5         toBin(4);
 6     }
 7     /*
 8      * 函数名:toBin
 9      * 功能描述:用来将正数或者负数转换为二进制数
10      * 创建人:zx
11      * 返回值:void
12      * */
13     public static void toBin(int num){
14         //定义字符串,用来存放计算出来的二进制数据
15         StringBuffer sb=new StringBuffer();
16         while(num!=0){
17             //向字符串中添加计算出来的二进制数
18             //注:这里用到了&运算,不明白的读者,可以在网上查找一下
19             sb.append(num&1);
20             //对num进行无符号位运算,类似于除2运算,具体的区别还需要读者自己查找
21             num=num >>> 1;
22         }
23         //将字符串反序输出,
24         System.out.println(sb.reverse());
25     }
26 
27 }

如果想写8进制的转换,可以将while循环里的两条语句改为:

sb.append(num&7);num=num >>> 3;

如果想写16进制的转换,可以将while循环里的两条语句改为:

sb.append(num&15);num=num >>> 4;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ryan Miao

java中遇到过的String的一些特性

1.string对象是final的? 1 String str="asdfdf"; 2 str.replace("as",""); 3 System.out.p...

36090
来自专栏码云1024

JAVA 第二天 关键字

29870
来自专栏LanceToBigData

Java常用类(二)String类详解

前言   在我们开发中经常会用到很多的常用的工具类,这里做一个总结。他们有很多的方法都是我们经常要用到的。所以我们一定要把它好好的掌握起来! 一、String简...

325100
来自专栏小樱的经验随笔

【python进阶】详解元类及其应用1

前言 元类在python中是很重要的一部分,我将分两次去讲解元类及其应用,此篇为详解元类及其应用第一篇,下面开始今天的说明~~~ 1. 类也是对象 在⼤多数编程...

29950
来自专栏章鱼的慢慢技术路

LeetCode_1. Two Sum_Solution

这道题目的意思是给定一个数组和一个值,要求出这个数组中两个值的和等于这个给定值target。

12830
来自专栏java工会

在Java中字符串是通过引用传递的?

18650
来自专栏个人随笔

反射反射 程序员的快乐

java反射操作其实就是主要围绕Class,Field,Methon,Constructor等几个类来操作其中的方法

43640
来自专栏刘晓杰

正则表达式

27890
来自专栏JavaEE

String类相关面试题很难?不要方,问题不大前言:一、字符串的创建:二、字符串的拼接:三、intern方法:总结:

Java中有一个String类,特别让人伤脑筋。因为它可以直接赋值,也可以new一下用构造器生成对象,还可以用加号拼接……这些不同的方式到底有什么区别?本文是个...

26450
来自专栏前端迷

数据结构与前端(一)——栈

每种数据结构都可以用很多种方式来实现,其实可以把栈看成是数组的一个子集,所以这里使用数组来实现

11220

扫码关注云+社区

领取腾讯云代金券