进制转换

来源:互联网 发布:洗车一分钱的软件 编辑:程序博客网 时间:2024/06/04 17:55

1进制的转换

进制:进制是一种记数方式 ,可以用有限的数字符号代表所有的数值。由特定的数值组成。

1.1整型的表现形式

1.十进制: 都是以0-9这九个数字组成,不能以0开头。
2.二进制: 由0和1两个数字组成。
3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。

1.2进制的由来

    几乎每个民族最早都使用都十进制计数法,这是因为人类计数时自然而然地首先使用的是十个手指。 但是这不等于说只有十进制计数法一种计数方法。例如,世界各国在计算年月日时不约而同地使用“十二进制”12个月为一年又如:我国过去16两才算为一斤,这就是“十六进计数法”,一个星期七天,这个就是”七进制计算法”。 计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示。 
 

1.2.1 十进制与二进制之间的转换

十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。

10(十进制)-------->1010(二进制)


二进制转十进制的转换原理:就是用二进制的每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加
1110(二进制) ---------> 14(十进制)
 
二进制的弊端: 二进制的书写太长了,不方便人类记忆。
二进制的数据特点: 由0~1组成。



1.2.2 十进制与八进制之间转换

1. 八进制的由来 
    二进位制在计算机内部使用是再自然不过的。但在人机交流上,二进位制有致命的弱点——数字的书写特别冗长。例如,十进位制的100000写成二进位制成为11000011010100000。为了解决这个问题,在计算机的理论和应用中还使用两种辅助的进位制——八进位制和十六进位制。二进位制的三个数位正好记为八进位制的一个数位,这样,数字长度就只有二进位制的三分之一,与十进位制记的数长度相差不多。例如,十进位制的100000写成八进位制就是303240。
十六进位制的一个数位可以代表二进位制的四个数位,这样,一个字节正好是十六进位制的两个数位。十六进位制要求使用十六个不同的符号,除了0—9十个符号外,常用A、B、C、D、E、F六个符号分别代表(十进位制的)10、11、12、13、14、15。这样,十进位制的100000写成十六进位制就是186A0。


2. 八进制的特点
由数字0-7组成。即使用三个开关表示一个八进制数。只有0~7这八个字符组成的。
10进制转换8进制原理:就是用十进制的数字不断除于8,从下往上取余数。



八进制转十进制原理: 用把进制的数不断乘以8的n次方,n从0开始,每次递增1。

  




十进制与十六进制之间的转换
十六进制特点:由0~9 a(10) b(11) c(12) d(13) e(14) f(15)组成。四个二进制位就是一个十六进制的数据.

十进制转十六进制原理:就是不断除以16,从下往上取余数。
38(十进制)---->26  (十六进制)
十六进制转十进制:使用十六进制的每一位乘以16的n次方,n从0开始,每次递增1,然后把各部分的数据
相加即可。
34(十六进制)-----> 52(十进制)


代码体现:
class Demo4{
public static void main(String[] args){
/*
System.out.println(12); //整数常量
System.out.println(3.14); //小数常量
System.out.println(false); //布尔常量
System.out.println('1'); //字符常量
System.out.println("hello world"); //字符串常量
如果一个数据没有加上任何的标识之前,默认就是十进制的数据。
*/
System.out.println(10);// 十进制
System.out.println(0b10); //二进制 , 如果一个数据要表示二进制,那么要在该数据的前面加上0b开头。
System.out.println(010); //八进制数据, 八进制的数据需要以0开头
System.out.println(0x10); //十六进制数据, 十六进制的数据需要以0x开头
        }
}
0 0
原创粉丝点击