Java 整型的表现形式

Java 数据类型中有四种整型,分别是 byte、short、int、long,而整型定义下的数据还会按进制来区分:

  • 十进制整数:都是以 0-9 这九个数字组成,不能以 0 开头,例如 12,-127

  • 二进制整数:0 和 1 两个数字组成,以 0b 开头,例如 0b011 (对应于十进制的 3 )

  • 八进制整数:由 0-7 数字组成,为了区分与其他进制的数字区别,开头都是以 0 开始,例如014(对应于十进制的 12)

  • 十六进制整数:由 0-9 和 A-F 组成,为了区分于其他数字的区别,开头都是以 0x 或 0X 开始,例如0XF(对应于十进制的15)

进制的由来

几乎每个民族最早都使用都十进制计数法,这是因为人类计数时自然而然地首先使用的是十个手指,但是这不等于说只有十进制计数法一种计数方法。

例如,世界各国在计算年月日时不约而同地使用 “十二进制” 12 个月为一年

例如,我国过去 16 两才算为一斤,这就是 “十六进计数法”, 一个星期七天,这个就是 ”七进制计算法”。

计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用 “1” 和 “0” 表示。

不同进制整数转换方法

  • R 进制转十进制(不分整数和小数部分)

    方法:位权加和(将R进制按权展开,再在十进制的数制系统内进行计算)

    举例:27(八进制)-> 23(十进制)

    27 = 2 x 8 ^ 1 + 7 x 8 ^ 0 = 2 x 8 + 7 x 1 = 23

  • 十进制转 R 进制

    方法:除基取余法(最后余数为最高位)

    举例:11(十进制)->1011(二进制)

    11 / 2 = 5 (余数为1)

    5 / 2 = 2 (余数为1)

    2 / 2 = 1(余数为0)

    1/2 = 0(余数为1)最高位

    将余数从下向上写在一起就答案: 1011

可能你会有疑问,在我们生活中主要使用十进制,为何计算机还要使用这么多种进制呢?我就拿十六进制举例,说一说它在计算机里的用处。

  • 计算机硬件是 0101 二进制的,16 进制刚好是 2 的倍数,更容易表达一个命令或者数据

  • 最早规定 ASCII 字符集采用的就是 8 bit( 1个字节 ),8 bit用 2 个 16 进制直接就能表达出来,不管阅读还是存储都比其他进制要方便

  • 计算机中 CPU 运算也是遵照 ASCII 字符集,以16、32、64的这样的方式在发展,因此数据交换的时候 16 进制也显得更好

  • 为了统一规范,CPU、内存、硬盘我们看到都是采用的 16 进制计算

十六进制使用场景
  • 网络编程:数据交换的时候需要对字节进行解析都是一个byte一个byte的处理,1个byte可以用0xFF两个16进制来表达

  • 数据存储:存储到硬件中是 0101 的方式,存储到系统中的表达方式都是 byte 方式

  • 一些常用值的定义,比如:我们经常用到的 html 中 color 表达,就是用的 16 进制方式,4 个 16 进制位可以表达好几百万的颜色信息

Java 进制及转换的更多相关文章

  1. Java基本语法-----java进制的转换

    进制: 进制是一种记数方式 ,可以用有限的数字符号代表所有的数值.由特定的数值组成. 1整型的表现形式 1.十进制: 都是以0-9这九个数字组成,不能以0开头. 2.二进制: 由0和1两个数字组成. ...

  2. Java进制的转换

    进制:进制是一种记数方式 ,可以用有限的数字符号代表所有的数值.由特定的数值组成. 整型的表现形式 十进制: 都是以0-9这九个数字组成,不能以0开头. 二进制: 由0和1两个数字组成. 八进制: 由 ...

  3. java基础:进制详细介绍,进制快速转换,二维数组详解,循环嵌套应用,杨辉三角实现正倒直角正倒等腰三角,附练习案列

    1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 如何加断点 选择 ...

  4. Java中将16进制字符串转换成汉字

    技术交流群:233513714 /** * 将16进制字符串转换成汉字 * @param str * @return */ public static String deUnicode(String ...

  5. Java进制转换示例

    收藏的代码,以备查询之用.进制之间转换都是以十进制作为中间层的. int os = 16; //十进制转成十六进制: Integer.toHexString(os); //十进制转成八进制 Integ ...

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

    最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤其是对于负数这一方面. 下面和大家分享一下,这里只写了十进制到二进制的转换,其实都是同样的道理 public class Test1 { pub ...

  7. java 的任意进制间转换

    直接上代码: public class Main { public static void main(String[] args) { // TODO Auto-generated method st ...

  8. 初学java进制转换方面补充学习

    进制转换: 基础: ​ 二进制用的数为:0/1 ​ 八进制用的数为:0/1/2/3/4/5/6/7 ​ 十进制用的数为:0/1/2/3/4/5/6/7/8/9 ​ 十六进制用的数为:0/1/2/3/4 ...

  9. 第26章 java进制操作

    java进制操作 1.二进制 二进制只有0和1,逢二进一 二进制多用在计算机中,来自计算机硬件的开关闭合 2.位运算 分别讲解: 2.1.按位与 & 两位全为1,结果才为1 0&0=0 ...

随机推荐

  1. 封装一个处理 react 异常的最简 ErrorBoundary 组件 🎅

    前言 从 React 16 开始,引入了 Error Boundaries 概念,它可以捕获它的子组件中产生的错误,记录错误日志,并展示降级内容,具体 官网地址. 错误边界避免一个组件错误导致整个页面 ...

  2. 自学转行JAVA,没有项目经历怎么找工作?

    应届生或者是刚参加工作的转行人员都有这样一个疑惑,刚学出来没有工作经验,但是企业又要求你必须要有工作经验,但是刚毕业找不到工作就不可能有工作经验,感觉陷入一个死循环.其实这种情况那些企业是不可能不知道 ...

  3. 痞子衡嵌入式:i.MXRT中FlexSPI外设对AHB Burst Read特性的支持

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是FlexSPI外设对AHB Burst Read特性的支持. 痞子衡之前写过一篇关于FlexSPI LUT的文章 <从头开始认识i ...

  4. Pytorch系列:(二)数据加载

    DataLoader DataLoader(dataset,batch_size=1,shuffle=False,sampler=None, batch_sampler=None,num_worker ...

  5. C#通过rabbitmq实现定时任务(延时队列)

    本文主要讲解如何通过RabbitMQ实现定时任务(延时队列) 环境准备 需要在MQ中进行安装插件 地址链接 插件介绍地址:https://www.rabbitmq.com/blog/2015/04/1 ...

  6. 漫谈SCA(软件成分分析)测试技术:原理、工具与准确性

    摘要:本文介绍了SCA技术的基本原理.应用场景,业界TOP SCA商用工具的分析说明以及技术发展趋势:让读者对SCA技术有一个基本初步的了解,能更好的准确的应用SCA工具来发现应用软件中一些安全问题, ...

  7. 在nginx配置将请求转发到某个真实后端服务ip

    一.打开nginx机器的nginx配置文件 命令: locate nginx.conf 会列出所有nginx.conf文件的地址, 一般咱们要用的nginx配置文件是/usr/local/nginx/ ...

  8. POJ2406 KMP前缀周期

    题意:       给你一个字符串,长度小于1百万,问你他最多可以拆成集合相同字符串,例如abcabcabc 可以拆成3个abc,所以输出3. 思路:       这个是比较常规的next应用,首先假 ...

  9. ColyseusJS 轻量级多人游戏服务器开发框架 - 中文手册(上)

    快速上手多人游戏服务器开发.后续会基于 Google Agones,更新相关 K8S 运维.大规模快速扩展专用游戏服务器的文章.拥抱️原生 Cloud-Native! 快速开始 在开始之前,让我们确保 ...

  10. 【】POST、GET、RequestParam、ReqestBody、FormData、request payLoad简单认知

    背景: 使用vue+axios方式代替ajax后向后台发送数据出现问题了,controller获取不到数据.然后查.找.查.找中似乎找到一些门道.以下列出总结性的东西来记录自己的思考成果,仅供参考,不 ...