欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

十进制整数转换成二进制和十六进制形式

程序员文章站 2022-07-15 09:28:16
...

十进制整数转换为二进制形式

十进制整数转换为二进制形式采用“除二取余,逆序排列”。具体做法如下:
举个栗子如69,

   69 / 2 = 34           余数为1
   34 / 2 = 17           余数为0
   17 / 2 = 8            余数为1
    8 / 2 = 4            余数为0
    4 / 2 = 2            余数为0
    2 / 2 = 1            余数为0
    1 / 2 = 0            余数为1

除以2之后对取得的余数进行逆序排列,则69转换成二进制的形式就是0100 0101

二进制形式转换为十进制整数

2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1

如“10011000”转换为十进制的计算方法为:
1 * 2^7 + 0 * 2^6 + 0 * 2^5 + 1 * 2^4 + 1 * 2^3 + 0 * 2^2 + 0 * 2 ^1 + 0 * 2^0
= 128 + 16 + 8
= 152

十进制整数转换为十六进制形式

首先要明白是十六进制是逢16进1,所以十六进制每位的取值是 0~15,ABCDEF分别代表 10~15。

十进制转换为十六进制的思路和转换为二进制的思路类似。
即“除以16取余,逆序排列”具体方法如下:
举个栗子如1258,

      1258 / 16 = 78        余数为10(A)
        78 / 16 = 4         余数为12(C)
         4 / 16 = 0         余数为4

所以1258转换为十六进制,对余数进行逆序排列为 4AC

十六进制形式转换为十进制整数

同样,与二进制转换为十进制类似,只需要把二进制表中指数的底换成16即可。
16进制第0位是 16^0,第一位是 16^1,以此类推。

举个栗子如 2CA3,
3 * 16^0 + 10 * 16^1 + 12 * 16^2 + 2 * 16 ^4
= 134,307