java 10进制 掩码运算_java进制转换之掩码运算

第一次写博客,语言组织有点乱,初学java,总结下刚学知识点,还请多多指教。 Java的掩码运算 18世纪德国数理哲学大师莱布兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴和

第一次写博客,语言组织有点乱,初学java,总结下刚学知识点,还请多多指教。

Java的掩码运算

18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴和阳,其进位制就是二进制,并认为这是世界上数学进制中最先进的。

20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。

生活中我们一般采用十进制,而在计算机内则采用二进制,而十六进制的采用是为了更好的表示二进制。

试问:怎么才能将十进制转换为二进制,或者八进制和十六进制呢?

一般我们会不断的取余数,存放在一个数组中然后将它逆置输出便得结果。

代码如何下:

import java.util.Arrays;

public class Demo3 {

public static void main(String[] args) {

int num = 10;

int mask = 0x1; // 掩码

int[] array = new int[0];

int i = 0;

while (num != 0) {

int last = mask & num;

array = Arrays.copyOf(array, array.length + 1);

array[i] = last;

i++;

num >>= 1;

}

for (int j = array.length - 1; j >= 0; j--) {

System.out.print(array[j] + "");

}

}

}

public class Demo4 {

public static void main(String[] args) {

String str = "4e2d"; // 十六进制数

int num = 0;

char[] ch = str.toCharArray();

for (int i = 0; i < ch.length; i++) {

char c = ch[i];

if (c >= 'a' && c <= 'z') {

num = num << 4 | (c - 'a' + 10);

} else {

num = num << 4 | (c - '0');

}

}

System.out.println(num);

}

}

第一个方法是传入一个字符串,和一个要转的进制,如果是二进制,则是1,如果是十六进制num是4.

第二个方法是传入一个整数,和一个要转换的掩码,最后返回的是一个字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值