进制转化 二进制 十进制 十六进制

wangchuang2017 / 2024-02-27 / 原文

进制理解

JAVA专栏收录该内容
35 篇文章0 订阅
订阅专栏

十进制:123456789

十六进制:123456789ABCDEF

二进制:01

十进制的123456789和十六进制的123456789不需转换是相同的,十六进制的ABCDE分别代表十进制的10、11、12、13、14、15

 

十进制转二进制:

15(十进制) = 1111(二进制)
  十进制整数转换为二进制整数:

  十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
  具体方法:
  8/2=4余0
  4/2=2余0
  2/2=1余0
  1/2=0余1
  将竖式余数从下到上写出来即是换算结果,15(十进制) = 1111(二进制)。

 

十六进制和二进制的转换;

二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位,即单独的取十六进制的每一位转换为二进制数

 

 

十六进制转十进制:

16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

所以,在第N(N从0开始)位上,如果是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

例:2AF5换算成10进制:

用竖式计算:

第0位: 5 * 16^0 = 5

第1位: F * 16^1 = 240

第2位: A * 16^2= 2560

第3位: 2 * 16^3 = 8192

-------------------------------------

10997

直接计算就是:

5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997

 

二进制和字节关系:

字节也叫Byte,是计算机数据的基本存储单位,在电脑里一个中文字占两个字节

8bit(位)=1Byte(字节) 每个bit就是一个二进制数,8个二进制数就是一字节