十进制、二进制、八进制、十六进制互相转换

十进制数由0~9共10个数字字符组成,在十进制数的每一位上满十进一,在十进制每一位中表示最大数字为9.

二进制数由0和1两个数字字符组成,在二进制中“逢二进一”,在二进制每一位中表示最大数字为1.

八进制是由0~7共8个数字字符组成,在八进制中“逢八进一”,在八进制中每一位中表示最大数字为7.

十六进制是由0~9、A、B、C、D、E、F共16个字符组成,在十六进制中“逢十六进一”,在十六进制中最大的数是F。

首先,讲讲十进制转二进制:

例: 十进制要转二进制

就拿55除以2

55/2=27余1,在拿27除以2,27/2=13余1,在拿13除以2,13/2=6余1,在拿6除以2,6/2=3余下0,在拿3除以2,3/2=1余1,

那么十进制55转换成二进制就是110111

十进制转八进制

例子:十进制534转八进制

拿534除以8,534/8=66余6,在拿66除以8等于8余2,在拿8除以8等于1余0,那么十进制534转八进制就是1026.

 

十进制转十六进制

例子:十进制300转十六进制

拿300除以16的等于18余12(12在16进制中以C表示,10为A,B为11,一直到F为15),在拿18除以16等于1余下2,在拿1除以16,等于0,不用表示,那么十进制300转换为十六进制的结果为12C。

 

二进制转换为十进制

例子:111=1*4+1*2+1*1=7;

它有个对照表:


1


1


1


1


1


1


1


1


128


64


32


16


8


4


2


1

看二进制有多少位,对照表然后在拆开来相加。

 

二进制转换为八进制

有个方法,把二进制的数从右往左,三位一组,不够补0

列:111=4+2+1=7

11001拆分为 001和011,001=1,011=2+1=3;

那么11001转换为八进制就是31.

 

二进制转换为十六进制

参照二进制转八进制,但是它是从右往左,四位一组,不够补0

列子:1101101拆分为1101、0110

分别计算两个二进制的值,1101=8+4+0+1=13,十六进制中13为D

0110=4+2=6,那么二进制1101101转换为十六进制就是6D。

八进制转换为二进制

从后往前,每一位按十进制转化为三位二进制,缺位补0

列子:77,拆分开7=4+2+1=111

所以八进制的77转换位二进制得111111.

 

八进制转换为十进制

列子:555=5*8的2次方+5*8的一次方+5=320+40+5=365;

八进制转换位十六进制

先要把八进制转换位2进制,然后在把二进制转换位十六进制

例如:八进制721先转换为二进制,把一个个拆开

7=111,2=010,1=001,

得到二77进制111010001,然后转换为16进制,从右往左,四个一组,不够补0

111010001 拆开为 0001,1101,0001

0001=1,1101=8+4+1=13,十六进制的话,就为D,0001=1,那么转换为十六进制就是1D1

 

十六进制转换为二进制

把每一位数转换成二进制,每个数分四位,不足四位,前面补0

列子:2FD,分别拆开,2=0010,F=15=1111,D=13=1101

那么转换为二进制就得到 1011111101

 

十六进制转换为八进制

先将十六进制转换成二进制,(原则一位十六进制转四位二进制),在将二进制转换成八进制,(原则是从右往左三个,不够补0)

列子: 十六进制的2FD转换二进制得1011111101,在将二进制1011111101转换为八进制,从右边往左,四个一拆分,不够补0

1011111101拆分为 001,011,111,101,分别计算

001=1,011=2+1=3,111=4+2+1=7,101=4+1=5,那么最后转换为八进制就得到1375.

十六进制转换为十进制

跟八进制转换为十进制类似

列子:2D=2*16的一次方+13=2*16+13=45

十六进制的2D转换为十进制得到十进制45

时间: 2024-10-13 01:04:54

十进制、二进制、八进制、十六进制互相转换的相关文章

使用JAVA完成十进制到二进制八进制十六进制的转换

/* 十六进制的转换 要求: 1.从键盘输入数据(有输入提示) 2.用自定义方法 增加: 对输入的数,进行8进制和2进制的转换. */ import java.util.Scanner; public class ArrayTest{ public static void main(String[] args){ System.out.print("请输入要转换为16进制的数字:"); Scanner scan=new Scanner(System.in); int num = sca

二进制 八进制 十六进制

二进制 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现.当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的.计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0. 20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码.其运算模式正是二进制.19世

(初学)如何手动实现整型数值60的二进制到十六进制的转换

如何手动实现整型数值60的二进制到十六进制的转换 //调用Java自带Integer类实现//练习:60 输出为十六进制(位运算符)        //自动调用Integer类现成的方法        int i1 = 60; String binary = Integer.toBinaryString(i1);        System.out.println(binary); String hex = Integer.toHexString(i1);        System.out.p

python的进制转换二进制,八进制,十六进制及其原理

#!usr/bin/env python# coding:utf-8 def binary(): '''二进制的方法与算法'''    Number = 10    Number1 = 20    Number2 = 30    print bin(Number),type(bin(Number1)),bin(Number2) #用十进制算法来表示二进制   # 除余法:10%2=0放入字符串个位'0',5%2=1放入字符串的十位'10',2%2=0放入百位'010',最后余数放入千位'1010

ip(点分十进制 <==> 二进制整数)之间的转换

linux的套接字部分比较容易混乱,在这里稍微总结一下. 地址转换函数在地址的文本表达式和它们存放在套接字地址结构中的二进制值进行转换. 地址转换函数有四个:其中inet_addr 和 inet_ntoa适用于IPv4,inet_pton 和 inet_ntop同时适于用IPv4和IPv6. 套接字地址结构分为IPv4套接字地址结构sockaddr_in和IPv6套接字地址结构sockaddr_in6.其中IPv4的套接字地址结构如下. IPv4套接字地址结构:(定义在<netinet/in.h

如何手动实现整型数值60的二进制到十六进制的转换

int num=66; System.out.println(Integer.toBinaryString(num)); System.out.println(Integer.toHexString(num)); int bits=0; int temp=num; while(temp>0){ temp/=16; bits++; System.out.println(temp); } temp = num; String[] result= new String[bits]; for(int i

二进制、八进制、十进制、十六进制之间转换

一. 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0. 第二步,将商84除以2,商42余数为0.

二进制 八进制 十进制 十六进制之间的转换

一. 十进制与二进制之间的转换 (1)十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步:将168除以2,商84,余数为0.  第二步:将商84除以2,商42余数为0. 

《转载》二进制、八进制、十进制、十六进制之间转换

一. 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0. 第二步,将商84除以2,商42余数为0.

二进制 八进制 十进制 十六进制

一. 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0. 第二步,将商84除以2,商42余数为0.