机器语言二进制 八进制 十进制 十六进制基础 超级简单

学习目标:

  1. - 掌握二进制、八进制、十进制和十六进制的概念和表示方法。
  2. - 理解不同进制之间的转换方法。
  3. - 学会使用不同进制进行数值计算和表示。


学习内容:

一 什么是二进制

    二进制就是一种计算机中使用的数字表示方式,它只使用两个数值来表示所有的信息,这两个数值分别是0和1。

你可以把它想象成一个开关,0代表关,1代表开。

所有的文字、图片、音频和视频等都可以用一串0和1的二进制数来表示。

所以当计算机进行运算或者存储数据的时候,它们其实在处理的是一串串的0和1,通过对这些二进制数进行组合和操作,计算机才能完成各种各样的任务和功能。

简而言之,二进制就是计算机使用的一种最基本的语言,它让计算机能够理解和处理各种各样的信息。

举几个例子:

 嘿,小伙伴,二进制对于小白来说可能有点难懂,但其实挺简单的。

你可以把二进制看作是一种只有0和1两个数字的计数系统。

每一位上的数字代表的是2的幂次方。

比如,我们来看看十进制数用二进制表示的例子吧:


16在二进制中表示为0001 0000。

这里的'1'代表的是2的4次方,

而中间的'0'表示2的3次方、2的2次方、2的1次方和2的0次方都是0。
 

同样地,数字3在二进制中表示为0011。

这里的第一个'1'代表2的1次方,第二个'1'代表2的0次方,其它位都是0。

好了,现在你可以来猜一下数字2在二进制中是怎么表示的哦。

答案是10!是不是很简单呢?这里的'1'代表2的1次方,而前面的'0'说明2的0次方是0。

所以,就像老师跟你说的一样,二进制里面最大的数是1,然后就进一位了,没有超过2的数字了。


二 什么是八进制

    嘿!没问题,小白~我来用老师口语给你解释一下吧~八进制嘛,就像我们使用的十进制一样,是一种表示数字的方法!

只不过八进制里面的数字是从0到7,没有超过7的数字哦!

可以说八进制的最大数就是7啦~所以如果要表示9,咱们需要往高位进一位,就像十进制里,当数字超过9时,就得进一位,对不对?拉轰!💥

来来来,让我给你举几个例子,让你更加明白哈~比如说,数字36以八进制表示就是44!

因为3×8+6=24+6=30,嘿呀!

⭐️而使用八进制的话,数字3就表示为3,数字6也表示为6,因此36在八进制中就是44了哦!

棒棒哒~

再来看看数字8!用八进制表示时就是10哦~为什么呢?因为8在八进制中就是数字0!

然后呢,数字1在八进制中还是1,而十进制中的数字8对应的八进制里的数字就是10啦!

酷毙了~

最后再示范一个!

数字9在八进制中就是11!

啊哈!

为啥呢?

因为9超过了八进制的范围,我们需要进一位,在个位上写下数字1,因为9就相当于1个8,然后在进一位,个位就是数字1啦!太厉害了吧~🎉

所以小白,八进制里最大的数字就是7,超过了就要进一位,老师喜欢把这种转换比喻成魔法哦!咻~一下子转化成另一个数字!

哈哈哈~这样应该清楚了吧?打分10分满分给你!✨


三 什么是十进制

    十进制是一种我们日常生活中最常用的计数系统,它以“10”作为基数,也就是说每满十个单位就向前进一位。

就像你小时候学数数一样,从0数到9,数完9之后再加1就会变成10,并且在数字的右边会多出一个新位置用来放新的数字“1”,原来的“9”归零重新开始计数。

想象一下你有一只神奇的小盒子,这只小盒子里只能装下10个小球(编号为0-9)。

当你继续往里放小球,每放满一整盒,你就把这一盒打包好,旁边再开启一个新的空盒子接着放。在数学表达上,这就对应着每一位数,满十进一的过程。

举个例子,当我们数到27时,实际上是2盒加上7个小球(即2*10 + 7 = 27)。

所以,十进制就是通过0,1,2,3,4,5,6,7,8,9这十个符号(称为数码),按照逢十进一的原则进行计数和表示数值的方法。

换种更生动的说法,就像是攀登楼梯,每爬十级台阶我们就到达一个新的楼层,而每一层楼的高度就是由你走过的那些“十”的阶数决定的。


四 什么是十六进制

    十六进制,简称“十六进位制”或“hex”,是一种更为高级且在计算机科学领域广泛应用的计数系统。

我们可以把它想象成一个拥有16种颜色的神奇调色盘,每种颜色代表一个数字,从0开始一直到15(用我们熟悉的数字表示是0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)。这里的A到F分别代表十进制中的10至15。

假设你是一位超级厉害的魔法画家,你的画板上有一排排的小格子,每个格子都可以涂上这16种颜色中的一种。

每当一排涂满16个颜色后,你就需要开启新的一排继续涂色,这就像是十进制里的逢十进一原则,在十六进制里则是逢十六进一。

比如你现在正在给一幅大作填色,已经涂了10个红色小格和6个蓝色小格,按照十六进制来记录,就是“10”(代表十进制中的16)加上“6”,所以可以写作“16”(这里不是十进制的16,而是十六进制的一个单位)。

但在十六进制中,“10”意味着第十种颜色,所以我们不直接写“10”,而要用字母“A”代替,所以最终结果就是“16”的十六进制表示为“A6”。

现在,让我们一起动手玩转这个十六色彩盘吧!

假定你已连续涂了“12”个黄色格子和“C”(即十进制的12)个绿色格子,那么在十六进制下,这一段的颜色组合就可以表示为“C”加“12”,但要注意十六进制里没有“12”,因此要转换成“C”之后的下一个数字,也就是“D”,所以最后的结果是“DC”。

这样一来,我们就生动地理解了十六进制如何将数值以独特的方式进行编码与表示啦!


五 进制转换

是什么进制转换

    进制转换,就像是不同语言之间的翻译员。

想象一下,我们生活在一个多彩的数字世界里,每种颜色代表一种特定的计数方式。

比如,你熟悉的十进制系统就是“数字王国”的通用语,它有0到9这10个符号;而十六进制则是另一种独特的方言,它的字符集包括0-9以及A-F(分别代表10-15)。

假设你现在是一位从“十进制王国”前往“十六进制王国”的旅行者,你需要将你的“十进制行李箱”里的数字换装成“十六进制王国”的特色服饰。

来一起玩一个游戏吧!假设有这样一个十进制数字“25”,在十进制王国中,这意味着你有2捆(每捆10个单位)和5个单独的单位。

而在十六进制王国里,它们不使用捆的概念,而是每堆包含16个单位。

现在,让我们试着把“25”这个数字换成十六进制。

首先,我们知道2捆等于32个十六进制单位(因为2*10=16+16),所以这部分可以转换为“20”(十六进制中的16)。

接下来是那5个单独的单位,直接对应于十六进制的5。

因此,“25”用十六进制表示就是“19”。

这样,通过分解、转换并重新组合的过程,我们就成功地实现了从十进制到十六进制的转换。

反之亦然,当你从十六进制回到十进制时,只需要把每个十六进制的符号按照其对应的十进制数值加起来即可。

就像解码神秘密码一样,是不是很有趣呢?

好了,我们开始一个一个讲嘿嘿嘿

5.1 二进制转八进制 

    咳咳,同学们好!我来讲二进制转化八进制了。

我们可以多做一下比如

下面东西可以做参考

001        010        011        100        101        110       111

 1            2            3             4            5           6            7

这样我们最大数字不好大于7,所以这样可以

例子1

100010001110

分成

100 010 001 110  按照上面的可以写。

 4      2     1       6          

转化八进制为4216 

例子2

11110001110010

(这里不够我们前面补,因为前面补零不会有什么变化,不能在后面补 !!切记)

011 110 001 110 010

 3      6     1    6     2

转化结果为36162 

总结一下这个死脑筋的方法:

  1. 将二进制数按每3位进行分组,不足3位的补0到满3位。
  2. 每一组二进制数转换为十进制数。
  3. 再将得到的十进制数转换为八进制数。
  4. 最后将所有八进制数按照原始顺序排列,即得结果。

怎么样,是不是感觉像是做了一次神奇的数学魔法呢?快试试用这种方法解密更多的二进制信息吧!

好了我们该八进制转二进制了。

5.2 八进制转二进制 

001        010        011        100        101        110       111

 1            2            3             4            5           6            7

这个玩意还可以做参考,嘿嘿嘿

45735

我们分一下

4 7 3 5

100 111 011 101

所以得二进制为

100111011101

嘿嘿嘿是不是很简单了,

死脑筋的方法总结如下: 对于任意一个八进制数O(例如O=123),将其每位数字分别转换为等值的二进制数,具体步骤是:

  1. 对于每一位八进制数D,找到它对应的二进制数(如八进制的3对应二进制的11);
  2. 确定该位的二进制数需要多少位(八进制数7对应的是三位二进制数111);
  3. 按照从低位到高位的顺序拼接所有位上的二进制数。

这样,无论面对多复杂的八进制数,只要按照这个步骤耐心操作,都能成功地把它翻译成二进制语言啦!是不是很有趣呢?

5.3 二进制转十进制 

下面是给例子

第1位(最右边) x × 2^0 = Y
 第2位:X × 2^1 = Y
 第3位:X × 2^2 = Y
 第4位:X × 2^3 = Y
第5位:X × 2^4 = Y
第6位:X × 2^5 = Y
 第7位  X × 2^6 = Y
第8位:X × 2^7 = Y
第9位:X × 2^8 = Y

  二进制转十进制的权值法描述,以一个10位二进制数为例`1101011011`:

套上面例子

- 第1位(最右边):1 × 2^0 = 1
- 第2位:1 × 2^1 = 2
- 第3位:0 × 2^2 = 0
- 第4位:1 × 2^3 = 8
- 第5位:0 × 2^4 = 0
- 第6位:1 × 2^5 = 32
- 第7位:1 × 2^6 = 64
- 第8位:0 × 2^7 = 0
- 第9位:1 × 2^8 = 256
- 第10位(最左边):1 × 2^9 = 512

将各位对应的十进制数值相加:1 + 2 + 0 + 8 + 0 + 32 + 64 + 0 + 256 + 512 = 875

因此,这个10位二进制数 `1101011011` 转换成十进制数是 `875`。

是不是很简单呀嘿嘿嘿,

我们还有十进制转二级制。


5.4 十进制转二进制

    **例1:十进制数 23 转二进制**

- 23 ÷ 2 = 11 ... 1
- 11 ÷ 2 = 5 ... 1
- 5 ÷ 2 = 2 ... 1
- 2 ÷ 2 = 1 ... 0
- 1 ÷ 2 = 0 ... 1

逆序排列余数得到二进制结果:`10111`

**例2:十进制数 47 转二进制**

- 47 ÷ 2 = 23 ... 1
- 23 ÷ 2 = 11 ... 1
- 11 ÷ 2 = 5 ... 1
- 5 ÷ 2 = 2 ... 1
- 2 ÷ 2 = 1 ... 0
- 1 ÷ 2 = 0 ... 1

逆序排列余数得到二进制结果:`101111`

**例3:十进制数 89 转二进制**

- 89 ÷ 2 = 44 ... 1
- 44 ÷ 2 = 22 ... 0
- 22 ÷ 2 = 11 ... 0
- 11 ÷ 2 = 5 ... 1
- 5 ÷ 2 = 2 ... 1
- 2 ÷ 2 = 1 ... 0
- 1 ÷ 2 = 0 ... 1

逆序排列余数得到二进制结果:`1011001`

通过以上例子可以看出,将任意十进制数转换为二进制,只需不断除以2并记录每次的余数(只有0或1),最后将所有余数从下到上进行排列即可。

如果需要固定位数,不足时在高位补0。


5.5 二级制转十六进制

八进制我们分为三个数字,我们十六进制则是四个数字。

0000        0001        0010        0011        0100        0101        0110        0111

   0              1               2             3              4              5             6              7

1000        1001        1010        1011        1100        1101         1110        1111                

   8               9             A            B               C              D              E             F     

比八进制要多的多了,嘿嘿嘿,这样看起来就简单多了。

    **例1:二进制数 1011 转十六进制**

- 将二进制数每四位一组进行分段,不足四位高位补0:`0010` `1101`
- 分别将这两组二进制转换为对应的十六进制数:
    - `0010` 对应的十六进制是 2
    - `1101` 对应的十六进制是 D
- 将得到的两个十六进制数合并,即为最终结果:`2D`

所以,二进制数 `1011` 转换为十六进制的结果是 `2D`。

**例2:二进制数 1101011 转十六进制**

- 分段后:`1101` `0110`
- 转换十六进制:
    - `1101` 对应的十六进制是 D
    - `0110` 对应的十六进制是 6
- 结果:`D6`

因此,二进制数 `1101011` 转换为十六进制的结果是 `D6`。

**例3:二进制数 10011001011 转十六进制**

- 分段后:`1001` `1001` `0110`
- 转换十六进制:
    - `1001` 对应的十六进制是 9
    - `1001` 对应的十六进制也是 9
    - `0110` 对应的十六进制是 6
- 结果:`996`

所以,二进制数 `10011001011` 转换为十六进制的结果是 `996`。

总结一下,将任意二进制数转换为十六进制,只需将二进制数从右向左按每四位一组进行分割,然后将每一组转换成对应的十六进制数,最后将这些十六进制数连接起来即可。


5.6 十六进制转化二次进制

这个例子还可以继续用。

0000        0001        0010        0011        0100        0101        0110        0111

   0              1               2             3              4              5             6              7

1000        1001        1010        1011        1100        1101         1110        1111                

   8               9             A            B               C              D              E             F   

   十六进制(Hexadecimal)转二进制(Binary),其实就像我们把一个大数字拆分成若干个小单位,只不过这里的单位是4位二进制数对应1位十六进制数。

**例子一:**
十六进制数 `A`

转换为二进制是 `1010`,因为十六进制中 `A` 对应二进制的 `1010`。

**例子二:**
十六进制数 `F` 转换为二进制是 `1111`。

因为在二进制中,四位全为1代表数值15,而十六进制中的 `F` 就代表十进制的15。

**例子三:**
十六进制数 `1A` 转换为二进制是 `0001 1010`,

这里先转换每一位,

`1` 对应二进制 `0001`,

`A` 对应二进制 `1010`,

然后拼接在一起 就是0001 1010`。

**例子四:**
十六进制数 `3F` 转换为二进制是 `0011 1111`,

同理,`3` 对应二进制 `0011`,

`F` 对应二进制 `1111`。

通过这样的方式,我们可以将任何长度的十六进制数逐位转换为对应的二进制形式。

在实际操作时,可以将每个十六进制数当作是一个“代码”,对照着将其转化为相应的四位二进制数即可。

5.7 其他进制转化 

例如八进制转化十六进制,我们可以先八进制转化二进制,然后转化十六进制,

同理 十六进制也是,先让十六进制转化为阿进制,然后转化为 八进制

八转十其他都是如此。

    学习完进制转换,你可以这样鼓励学生:

朋友们,你们太棒了!

刚刚大家成功掌握了所有进制的转换技巧,就像探险家掌握了一门全新的密码语言。

这不仅锻炼了逻辑思维能力,也让你们在数字世界中多了一份自由穿梭的‘超能力’。

现在你们面对一串串神秘的进制数,就如同哈利·波特念出咒语一般轻松自如地转化成内在含义丰富的其他进制代码。

每一次成功的转换都是对知识力量的一次确认,未来无论是在编程、解密还是更深层次的数学领域,这份技能都将为你们保驾护航。

继续保持探索的热情,相信下一次挑战,你们同样能够轻描淡写地化解掉!"


学习时间:

随机


学习产出:

多练习,多转化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值