先直接上完整代码:

public class Test {public static void main(String[] args) {int num = 100;System.out.println(toBinary(num));System.out.println(toQuaternary(num));System.out.println(toOctal(num));System.out.println(toHexadecimal(num));}//将十进制转化为二进制public static String toBinary(int num){return trans(num, 2, 1);}//将十进制转化为四进制public static String toQuaternary(int num){return trans(num, 4, 2);}//将十进制转化为八进制public static String toOctal(int num){return trans(num, 8, 3);}//将十进制转化为十六进制public static String toHexadecimal(int num){return trans(num, 16, 4);}/*** 将十进制数num转换成base进制数* @param num 十进制数* @param base 进制数* @param offset 右移位数*/public static String trans(int num, int base, int offset){if(num == 0){System.out.println("0的"+ base + "进制是0");return "0的"+ base + "进制是0";}char[] arr = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};StringBuffer sb = new StringBuffer();while(num != 0){int temp = num&(base-1); //位运算 底层是两个二进制数来实现的运算sb.append(arr[temp]);num = num >>> offset; //无符号位右移}sb = sb.reverse(); //反转return sb.toString();}}

逻辑运算总结:

1、逻辑运算符:就是指的是一种关系,作用:用于连接两个布尔类型的表达式

包括以下几种:

&:与,特点:两边为真才为真,一边为假则为假

| 或,特点:一边为真则为真,两边为假才为假

! 非,特点:非真为假,非假为真

^ 异或 特点:同为假,异为真 规律:一个数同时异或这个数两次结果还是这个数。用于加密

&& 双与 特点:与&一样,但是有点小区别,在下面单独讨论。

|| 双或  特点:与|一样,但是有点小区别,在下面单独讨论。

<<:左移 规律:左移几位就是该数乘以2的几次方,

>>:右移:规律:右移几位就是除以2的几次方

注意对于左移和右移中高位的问题,总结为一句话:简单一句话:最高是什么就拿什么补,高位为0就拿0补,高位为1就拿1补;

>>>:无符号右移:区别于>>就是高位出现的空位,无论高位原来是什么都用0补;

2、&与&&的区别:

共同点:二者都可以作为逻辑与的运算符,表示逻辑与,

不同点:&&有短路的功能,如果第一个表达式为false时,不需要进行第二个表达式的运算,

当&操作符两边的表达式不是boolean类型时,表示按位与操作。Eg:我们通常使用0x0f来与一个整数进行&运算,获取低四位;

3、|和||的区别:

|:无论左边的运算结果是什么,右边都参与运算。

||:当左边为真时,右边不参与运算的。

【小工具类】将一个十进制数转化成二进制/四进制/八进制/16进制相关推荐

  1. 用栈来实现将一个十进制数转换成等值的二进制数或者八进制数

    栈的应用 栈的一个典型应用是将10进制数转换成等值的二进制数,或者八进制数,由于将十进制数转换成二进制数或者八进制数的时候符合栈的"后进先出"的特性,因为其算法思路就是不断取余然后 ...

  2. C语言将一个十进制数转化为二进制

    转化思路:"除2求余,逆序排序",既就是用十进制数除以2,可以得到一个商和余数:将余数保存起来,用商再去除以二,再得到一个商和余数,反复进行,直到商小于1时结束:然后将之前所得的余 ...

  3. c++实现将一个十进制数转换成二进制

    #include<iostream> using namespace std;//十进制转二进制 int main() {int x,i=0,j;int a[32];cout<< ...

  4. 将十进制数转化成二进制数,计算其中1的个数

    以下是我学到的三种方法,如果大家还有更好的方法,可以讨论交流. 首先,我们得知道十进制怎样转化成二进制,如下图. 得到10的二进制数为1010 那么我们会发现,10%2是判断二进制数的最后一位是0还是 ...

  5. 将一个十进制数转化为二进制数,统计二进制数中1的个数

    进制转化,统计数字个数: 任务拆解 进制转换 统计数字个数 函数代码 测试结果 任务拆解: 提示:首先分析并分解问题 1. 进制转换 2. 统计二进制数中的"1"的个数 进制转换: ...

  6. 利用栈的基本操作,将一个十进制数转换成8进制数

    题目 利用栈的基本操作,将一个十进制数转换成8进制数 #include<iostream>using namespace std;#define MAXSIZE 100 typedef i ...

  7. 十进制转化为二进制java代码_【模板小程序】任意长度十进制数转化为二进制(java实现)...

    妈妈再也不用担心十进制数过大了233 import com.google.common.base.Strings; import java.math.BigInteger; import java.u ...

  8. python--预测未来子女的身高、计算能量的消耗、为自己的手机充值、将指定的十进制数转换成二进制、八进制、十六进制

    将指定的十进制数转换成二进制.八进制.十六进制 def fun():num=int(input('请输入一个十进制的整数:'))print(num,'的二进制数为:',bin(num)) #内置函数- ...

  9. 将十进制数转换成二进制、八进制、十六进制数算法

    将十进制数转换成二进制.八进制.十六进制算法 递归算法: //将数字a转成b进制数 public static void anInt(int a, int b) {if (a / b != 0) {a ...

最新文章

  1. 扩增子文献笔记1白杨内生和根际微生物组在不同生态位存在特异的群落结构
  2. 如何找回误删并清除了回收站的文档
  3. 详解Linux Initrd
  4. linux内核网络协议栈--sk_buff结构体(四)
  5. oracle自定义存储过程:删除表(无论表是否存在)和检测表是否存在
  6. linux mii,Linux mii-tool 命令用法详解-Linux命令大全(手册)
  7. SSD 因 NCQ hang,failed command: WRITE FPDMA QUEUED / tag 28 ncq 4096 out
  8. window核心编程 22.3 DIPS.exe的踩坑逻辑梳理
  9. 485集线器 4口485集线器 4口485 HUB
  10. 搭建es+kabana
  11. Android 安卓动画 属性动画 - 旋转动画
  12. go日志库log/zap/logrus
  13. 【Python】max()中key的使用
  14. h3c交换机配置远程管理_H3C交换机配置远程登录
  15. Windows硬盘等存储设备读写查询分区格式化(一)
  16. c++ 虚函数多态、纯虚函数、虚函数表指针、虚基类表指针详解
  17. Flink最全面教程(自己总结的)
  18. linux汽车模拟,最佳汽车驾驶模拟器
  19. 求圆周率算法(割圆术)c语言实现
  20. 安装scrapy速度慢解决方法 速度贼快

热门文章

  1. 计算机等级图片背景蓝色怎么调,证件照背景颜色怎么换?白色蓝色背景都能换的方法...
  2. jquery tableExport 插件导出excel (无乱码) 比较简单的表格
  3. 我写了一个套路,助你随心所欲运用二分搜索
  4. 头条等互联网公司面试准备、HR、Android技术等面试问题汇总
  5. 剑指offer编程题(JAVA实现)——第35题:数组中的逆序对
  6. JavaScript进阶 - 第9章 DOM对象,控制HTML元素
  7. HTML5期末大作业:电影网站设计——漫威电影(2页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 web学生网页设计作业源码...
  8. 信贷业务全流程22个环节
  9. MySQL的MHA高可用配置及故障切换
  10. TML5期末大作业:动漫网站设计——神偷奶爸(10页) HT简单个人网页设计作业 静态动漫主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码