Java基础-进制转换
Java基础-进制转换
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.Java 程序中常用的进制
1>.十进制,由“0123456789” 这10个数字组成,逢十进一;
2>.二进制,由“01” 这2个数字组成,逢二进一,以“0b”开头;
3>.八进制,由“01234567” 这8个数字组成,逢八进一,以数字“0”开头;
4>.十六进制,由“0123456789abcdef” 这16个数字组成,逢十六进一,以“0x”开头;
注意,在CPU,内存,硬盘中的数据都是“0”和“1”,但是在程序中,我们是可以用上面任意的进制哟。
二.八进制和十六进制的由来
所有的数据都是以二进制的形式存储的在硬盘的。当我们想要对硬盘数据进行修改的话就必须想把数据读取到内存中,然后在利用OS上的程序去编辑这些数据,在编辑的过程中,如果都以二进制去表示一个数字的话是没有问题的,但是当你表示的数据足够大的话,用二进制看起来的就特别的长,于是就有了将三个比特位组成一组的八进制,到最后人民绝对八进制表示的长度依然很长,于是人们又创造出来了十六进制。他们都有一个共同的特点,就是必须将分组后的数据先转换成十进制数字,然后在转换成相应的八进制和十六进制,其中八进制要以数字"0"开头,二进制则以“0b”开头,而十六进制则以“0x”开头。
三.进制互相转换
1>.十进制转二进制
对2取余,倒序输出。
2>.十进制转八进制
对8 取全,倒序输出
3>.十进制转十六进制
对16取余,倒序输出
4>.三个二进制位,可以转换为一个八进制位
我们知道 1234 = 0b10 011 010 010
将其转换为八进制则为:0b10 011 010 010 = 02322
5>.四个二进制位可以转换为一个十六进制位
如:0b0100 1101 0010 = 0x4d2
6>.十六进制转换成十进制
如:十六进制7B转换成十进制是:123
首先计算第0位:B * 16^0 = 11(注意,在十六进制中,A到F分别对应的是十进制的10~15)。
再计算第一位:7 * 16^1 = 112
接下来要做的事情就是将第0位和第1位相加即可,因此十六进制7B转换成十进制是123。
Java基础-进制转换的更多相关文章
- 【搬砖】安卓入门(2)- Java开发编程基础--进制转换和运算符
02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 ...
- java基础:进制详细介绍,进制快速转换,二维数组详解,循环嵌套应用,杨辉三角实现正倒直角正倒等腰三角,附练习案列
1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 如何加断点 选择 ...
- 《java版进制转换》
import java.util.Scanner; class 十进制转成十六进制_2 { public static void main(String[] args) { int num = 0; ...
- Java:进制转换
进制转换是常常需要的一种数据处理,在java中的一些类中封装了具有转换功能的方法,这个不做介绍.其实,进制之间的转化是通过先位异或&,再位移动>>>的方式实现的. 例如,对于 ...
- java高精度进制转换
POJ1131 由于本题只有小数部分(整数部分均为0),故在进制转换的之后只能自己手写转换方法了. 8进制转换10进制的方法为,以0.75为例,应是7*8^-1 + 5*8^-2.所以呢,可以 ...
- Java的进制转换操作(十进制、十六进制、二进制)
2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. ...
- Java 之进制转换
//十进制转十六进制 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scan ...
- C语言基础——进制转换 / 数据表示
第一部分:进制转换 二进制:由0~1构成,逢2进1 八进制:由0~7构成,逢8进1 十六进制:由0~9.A~F构成,逢16进1 两个基本概念 基数:n进制基数为n 123.4 = 1*10^2 + 2 ...
- java之进制转换
[转载]晨风�0�5�0�2�0�1�6�6 2014年03月08日 于 爱Java 发表 众所周知.程序世界计算机中采用的是二进制,一个数字可以用任意进制表示.所以看一个数据值的同时.还要观察它的进 ...
随机推荐
- PowerBI开发 第五篇:关系和交互
PowerBI 使用 内存的列式数据库 VertiPaq,用于对已发布的数据集进行数据压缩和快速处理,能够使PowerBI报表执行脱机访问,面向列的处理,高度优化对1:N关系的处理性能.关系是数据分析 ...
- 一道面试题来了解线程notifyAll()和wait()的方法
题目:三个线程,分别打印A.B.C,要求按ABC的顺序循环打印10次. package com.slowcity.crud.controller; public class PrintOneTwoTh ...
- VS 远程调试 Azure Web App
如果能够远程调试部署在 Azure 上的 Web App,将会极大的提高我们修复 bug 的效率.Visual Studio 一贯以功能强大.好用著称,当然可以通吃基于 Azure 应用的创建.发布和 ...
- tcp ,http .udp
三次握手,四次挥手要知道,记住. 计算机协议常见面试题,学会了,记住.会运用.
- Flask入门的第一个项目
前言: Flask简介:Flask是一个使用 Python 编写的轻量级 Web 应用框架,基于 WerkzeugWSGI工具箱和 Jinja2模板引擎. 想要学习flask,又非常迷茫,不知如何下手 ...
- Daily Scrum NO.6
会议概况 这两日又是由于编译deadline和数据库课程设计使得我们的进度进行缓慢.但是项目的进程仍然在可掌控的范围之内,时间虽然紧,但是应该最终能够实现Beta版本. 这次会议我们总结了之前5个正常 ...
- 20135202闫佳歆--week3 课本1-2章学习笔记
第一章 Linux内核简介 一.Unix Unix是一个强大.健壮和稳定的操作系统. 简洁 绝大部分东西都被当做文件对待.这种抽象使对数据和对设备的操作都是通过一套相同的系统调用借口来进行的:open ...
- Python正则表达式使用
Python正则表达式使用 参考资料: Python正则表达式| 菜鸟教程 Python正则表达式详解 - 我当道士那儿些年 - 博客园 前言 由于遇到一个提取字符串某个子串的问题,刚开始使用了暴力方 ...
- 基于python的机器学习实现日元币对人民币汇率预测
## 导入所需的包 import pandas as pd import numpy as np import matplotlib.pyplot as plt import tensorflow a ...
- DHCP介绍
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP ...