【小工具类】将一个十进制数转化成二进制/四进制/八进制/16进制
先直接上完整代码:
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进制相关推荐
- 用栈来实现将一个十进制数转换成等值的二进制数或者八进制数
栈的应用 栈的一个典型应用是将10进制数转换成等值的二进制数,或者八进制数,由于将十进制数转换成二进制数或者八进制数的时候符合栈的"后进先出"的特性,因为其算法思路就是不断取余然后 ...
- C语言将一个十进制数转化为二进制
转化思路:"除2求余,逆序排序",既就是用十进制数除以2,可以得到一个商和余数:将余数保存起来,用商再去除以二,再得到一个商和余数,反复进行,直到商小于1时结束:然后将之前所得的余 ...
- c++实现将一个十进制数转换成二进制
#include<iostream> using namespace std;//十进制转二进制 int main() {int x,i=0,j;int a[32];cout<< ...
- 将十进制数转化成二进制数,计算其中1的个数
以下是我学到的三种方法,如果大家还有更好的方法,可以讨论交流. 首先,我们得知道十进制怎样转化成二进制,如下图. 得到10的二进制数为1010 那么我们会发现,10%2是判断二进制数的最后一位是0还是 ...
- 将一个十进制数转化为二进制数,统计二进制数中1的个数
进制转化,统计数字个数: 任务拆解 进制转换 统计数字个数 函数代码 测试结果 任务拆解: 提示:首先分析并分解问题 1. 进制转换 2. 统计二进制数中的"1"的个数 进制转换: ...
- 利用栈的基本操作,将一个十进制数转换成8进制数
题目 利用栈的基本操作,将一个十进制数转换成8进制数 #include<iostream>using namespace std;#define MAXSIZE 100 typedef i ...
- 十进制转化为二进制java代码_【模板小程序】任意长度十进制数转化为二进制(java实现)...
妈妈再也不用担心十进制数过大了233 import com.google.common.base.Strings; import java.math.BigInteger; import java.u ...
- python--预测未来子女的身高、计算能量的消耗、为自己的手机充值、将指定的十进制数转换成二进制、八进制、十六进制
将指定的十进制数转换成二进制.八进制.十六进制 def fun():num=int(input('请输入一个十进制的整数:'))print(num,'的二进制数为:',bin(num)) #内置函数- ...
- 将十进制数转换成二进制、八进制、十六进制数算法
将十进制数转换成二进制.八进制.十六进制算法 递归算法: //将数字a转成b进制数 public static void anInt(int a, int b) {if (a / b != 0) {a ...
最新文章
- 扩增子文献笔记1白杨内生和根际微生物组在不同生态位存在特异的群落结构
- 如何找回误删并清除了回收站的文档
- 详解Linux Initrd
- linux内核网络协议栈--sk_buff结构体(四)
- oracle自定义存储过程:删除表(无论表是否存在)和检测表是否存在
- linux mii,Linux mii-tool 命令用法详解-Linux命令大全(手册)
- SSD 因 NCQ hang,failed command: WRITE FPDMA QUEUED / tag 28 ncq 4096 out
- window核心编程 22.3 DIPS.exe的踩坑逻辑梳理
- 485集线器 4口485集线器 4口485 HUB
- 搭建es+kabana
- Android 安卓动画 属性动画 - 旋转动画
- go日志库log/zap/logrus
- 【Python】max()中key的使用
- h3c交换机配置远程管理_H3C交换机配置远程登录
- Windows硬盘等存储设备读写查询分区格式化(一)
- c++ 虚函数多态、纯虚函数、虚函数表指针、虚基类表指针详解
- Flink最全面教程(自己总结的)
- linux汽车模拟,最佳汽车驾驶模拟器
- 求圆周率算法(割圆术)c语言实现
- 安装scrapy速度慢解决方法 速度贼快
热门文章
- 计算机等级图片背景蓝色怎么调,证件照背景颜色怎么换?白色蓝色背景都能换的方法...
- jquery tableExport 插件导出excel (无乱码) 比较简单的表格
- 我写了一个套路,助你随心所欲运用二分搜索
- 头条等互联网公司面试准备、HR、Android技术等面试问题汇总
- 剑指offer编程题(JAVA实现)——第35题:数组中的逆序对
- JavaScript进阶 - 第9章 DOM对象,控制HTML元素
- HTML5期末大作业:电影网站设计——漫威电影(2页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 web学生网页设计作业源码...
- 信贷业务全流程22个环节
- MySQL的MHA高可用配置及故障切换
- TML5期末大作业:动漫网站设计——神偷奶爸(10页) HT简单个人网页设计作业 静态动漫主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码