------- android培训、java培训、期待与您交流! ----------
学到十进制与二进制、八进制、十六进制之间的转换.
我们日常生活中常用的数据是以十进制形式表示,可是计算机中的只能用0和1直接表示数据,也就是只识别二进制,因此,为了让计算机处理我们日常生活中的数据,就要把日常生活中的数据转换成计算机能识别的数据。
首先,我们可以知道越是少的进制数,则越长
比如:
十进制(由0 到 9组成 ,逢十进一): 128
二进制为(有0和1组成,逢二进一): 10000000
八进制为(由 0 到7组成,逢8进一): 200
十六进制为(有0到9和A-F组成,逢十六进一):80
转换规则:
如何分析?
十六进制 80 则可以理解为 8* 16^1+ 0*16^0 = 128
八进制 200 则可以理解为 2 * 8^2 + 0* 8^1 + 0*8^0 = 128
二进制 10000000 则可以理解为 2* 2^7 +0*2^6+0*2^5+0*2^4+0*2^3+0*2^2+0*2^1+0*2^0 = 128
同时,将老师写的工具类整理了下,可以作为以后的工具类使用.
public class HexConversion { /** * 十进制 ---> 二进制 * @return * */ public static List<Character> toBin(int num){ return trans(num, 1, 1); } /** * 十进制 ---> 八进制 * */ public static List<Character> toBa(int num){ return trans(num, 7, 3); } /** * 十进制--->十六进制 * */ public static List<Character> toHex(int num){ return trans(num , 15 , 4); } public static List<Character> trans(int num , int base , int offset){ if(num == 0){ System.out.println(num); return null; } char[] chs = {'0' , '1' , '2' ,'3', '4', '5', '6','7', '8','9','A','B','C','D','E','F'}; char[] arr = new char[32]; int pos = arr.length; while(num != 0){ int temp = num & base; arr[--pos] = chs[temp]; num = num >>> offset; } List<Character> list = new ArrayList<Character>(); for(int x=pos; x < arr.length; x++){ //System.out.print(arr[x]); list.add(arr[x]); } return list; } public static void main(String[] args) { List<Character> list = toBin(22); for(Character chr : list){ System.out.print(chr); } } }
------------- android培训、java培训、java博客、java学习型技术博客、期待与您交流! -------------
相关推荐
Java基础教学 - 数组、进制转换、二维数组 在Java基础教学中,数组是一个非常重要的概念。数组是多个相同类型的变量组成的集合,每个变量被称为一个元素,数组中的每个元素都有自己的下标或索引。下面将详细讲解...
### 黑马程序员Java基础视频辅导班Day01知识点总结 #### Java的跨平台特性与JVM 1. **Java的跨平台性**:Java语言能够实现跨平台运行的关键在于Java虚拟机(JVM),即Java代码可以在任何安装了对应JVM的操作系统上...
### 黑马程序员基础班精华笔记总汇 #### 计算机基础知识 - **计算机定义**:计算机是一种能够根据程序指令处理数据的电子设备。它由硬件和软件两大部分构成。 - **硬件**:包括中央处理器(CPU)、内存、硬盘、...
此外,还涉及了不同进制之间的转换方法,例如将其他进制转换为十进制,以及将十进制转换为其他进制的算法。 接着,我们转向变量。变量是存储数据的容器,它的值可以在程序运行过程中改变。声明变量时,需要指定数据...
- **八进制表示**:Python 3中八进制数的前缀变为`0o`。 - **不等号操作符**:Python 2支持`!=`和`<>`表示不等,Python 3仅支持`!=`。 - **整数类型**:Python 3中整数类型统一为`int`,不再区分`int`和`long`。 ...
在“【黑马程序员就业班】02.C高级编程”这个课程中,我们将深入探讨C语言的高级特性,这些知识对于成为一名熟练的IT专业人员至关重要。C语言作为基础性且广泛应用的编程语言,其高级编程技巧是提升编程能力的关键。...
- Base64是一种常用的编码方法,用于将二进制数据转换为ASCII字符串形式。通常用于电子邮件和Web页面中传输二进制数据。 5. **Avro**: - Avro是一个数据序列化系统,它不仅提供了紧凑、快速的数据序列化方式,还...
理解并熟练运用这些运算符是成为优秀C#程序员的基础,它们在编写算法、控制程序流程和处理数据时起着至关重要的作用。在编写代码时,合理选择和组合运算符能提高代码的效率和可读性,同时避免可能的错误和异常。
黑马程序员训练营入学考试题 1、方法中的内部类能不能访问方法中的局部变量,为什么? 2、编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。 ...
"黑马"通常指的是黑马程序员,这是一个知名的在线教育平台,专注于IT技术培训,包括但不限于编程语言、数据结构、算法、前端开发、后端开发等。 测试题的内容可能涵盖以下几个方面: 1. **基础编程语言**:如Java...
同时,“黑马c++项目”可能指的是该项目是黑马程序员培训机构的一个学习实践项目,旨在通过实际操作来提升学员的C++编程技能。 【描述】提到的“借用来熟悉git和github管理项目的流程”意味着这个项目不仅关注代码...
【color.exe取色器】是一款简单实用的颜色选取工具,它主要被黑马程序员(可能是某编程教育机构或个人)推荐使用。这款工具的核心功能是帮助用户从屏幕上任意位置获取颜色值,便于在设计、编程或者日常工作中精准...
例如,Windows用户群体广泛,macOS适合程序员使用,而Linux则多用于服务器和嵌入式系统。服务器操作系统如Linux,以其安全稳定和免费特性深受IT专业人员青睐;而Windows Server则是付费产品,市场占有率相对较低。...