二进制丶八进制丶十进制丶十六进制转换 一篇就懂 ?

本篇大纲:

    ①进制说明 

    ②二进制与其他进制互转

    ③八进制与十进制互转

    ④十六进制与十进制互转

    ⑤八进制与十六进制互转

关于进制:

    所有数字在计算机底层都是以二进制形式存在的

对于整数,有四种表达形式:

    二进制(binary):0,1  ,特点: 满2进1,借1当2,以0b或0B开头

    八进制(octal):0-7 ,   特点: 满8进1,以数字0开头

    十进制(decimal):0-9 , 特点: 满10进1

    十六进制(hex): 0-9及A-F,  特点: 满16进1,以0x或0X开头表示。A-F不分大小写

先看一下各进制间数字对应关系:

有个急躁的哥哥说,你发个破表让我看个屁啊,啥都没讲,我能看懂啊?

看到这里,俺也想说:

不过别急,我们一个一个讲:

二进制:

    计算机中所有数据都是通过二进制形式保存的,虽然我们平时敲代码,又是"abcd"",又是"你我他"的,一敲敲那么老长,实际上保存在计算机中都是通过 01 二进制方式,可能你想不明白咋回事,不明白没关系,可以百度。

本篇重点:

十进制转二进制:

方法:除2取余的逆

下面...(突然被打断....)

    "喂,铁子,是不是忘了点啥?"

    "啥?"

    "二进制转十进制呢?????这个没讲就讲十进制转二进制?"

    "哥哥,别急呀!"

来先看个图:

求13的二进制;

13/2=6余1;

6/2=3余0;

3/2=1余1;

1/2=0余1;

1011 逆转:  1101


二进制转八进制

    方法 : 把二进制从低位到高位依次三个一组,最后不够的高位补0, 再分别算成十进制数,然后拼接起来就可以了。

看图:

    如:0000 0000 0000 0000 0000 0000 1110 1001二进制数

    我们从低位开始每三位分为一组,如下: 000 000 000 000 000 000 000 000 011 101 001(前两位以为不够三位,高位补0,如粗体所示),这样我们就将一个二进制数分成了11组(前边位数都是0,没有必要分)

    先算011 ,2²*0+2¹*1+2º*1=3;

    再算101, 2²*1+2¹*0+2º*1=5;

    最后算001,2²*0+2¹*0+2º*1=1;

    拼起来:结果就是0351

有个哥哥说:弟弟,明明是351?怎么就0351了?

八进制需要0开头,需要0开头,需要0开头,细节细节(小声bb)。

二进制转十六机制  

方法:跟转八进制原理差不多,不过十六进制是以每4位为一个单位

基本跟八进制差不多,不多说了。


二进制转十进制:

方法:按权展开求和

如下图:


规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增


八进制转二进制:

方法:二进制转八进制是三合一,那反过来肯定要一分三,分的方法:除2取余的逆

将0357八进制数转换成二进制数:

    先从3下手:

    3/2=1余1

    1/2=0余1

    逆转(不够三位,末位补0,然后逆转) : 011 。

    再算5:

    5/2=2余1;

    2/2=1余0;

    1/2=0余1;

    逆转:101 。

    再算7:

    7/2=3余1;

    3/2=1余1;

    1/2=0余1;

    逆转 :111 。

    最后拼接起来,结果是 011 101 111 。


十六进制转二进制:

方法 : 跟八进制转二进制一样,只不过是一分四。

看个图吧,不详细说了:

十进制、八进制相互转换:

八进制转十进制:

方法 : 按权相加

如 0537八进制数转十进制:

    8²*5+8¹*3+8º*7 = 351;

十进制转八进制:

方法:除8取余的逆(直接法),或者先转成二进制,再转成8进制(间接法)

如:351十进制数转成8进制

    351/8=43 余7

    43/8=5余3

    5/8=0余5;

    逆转:0537

十六进制、八进制互转(与转换八进制相似)


八进制、十六进制互转:先转成二进制,再转化


能看到这里,我发现你是真的爱我,那我也想对你说一句:

把耳朵伸过来

    .

    .

    .

    .

    .   

    .

    .

如果有用,麻烦点个赞呗,软件行业的小学生,Android上的弟弟在这里跪谢了

END

你可能感兴趣的:(二进制丶八进制丶十进制丶十六进制转换 一篇就懂 ?)