当前位置: 首页 > news >正文

计算机基础:二进制基础06,用八进制来计数

专栏导航

本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。

(一)WIn32 专栏导航

上一篇:计算机基础:二进制基础05,八进制简介

回到目录

下一篇:无

(二)MFC 专栏导航

上一篇:计算机基础:二进制基础05,八进制简介

回到目录

下一篇:无

本节前言

上一讲,我讲了八进制的引言部分。主要就是讲学习八进制的意义。水了一节。

这一节呢,我们来讲,用八进制来数数。

一.    十进制与二进制数数的回顾

(一)十进制计数回顾

在十进制里面,共有十个表示数字的符号,为 0 到 9。用十进制来查数的时候,基本的法则,是逢十进一。

比如,从1数到9之后,9的下一个数,是 10 。9是单独的某一位里面最大的数,再加一的话,就需要令此位归零,并向上进一位。

9之后是10,19之后是20,29之后是30 。而99之后呢?个位需要归零,然后向十位进一位。十位也是 9,加上个位进过来的 1 以后,也要归零,并向上进一位,也就是向百位进一位。结果呢,99变为 100 。999之后是1000,9999之后是 10000 。

逢十进一,这是十进制的基本计数方法。

(二)二进制计数回顾

在二进制里面,有两个基本的,用来表示数字的符号,它们分别是 0 和 1 。用二进制来查数的时候,基本的法则,是逢二进一。

从 0 开始查数的话,首先是 0,下一个是 1 。

1之后是啥呢?由于 1 已经是二进制数的单个符号里面的最大值,没有比它再大的了。所以呢,再往下数的话,那就得是 1 归 0,然后,向上进一位,结果呢,1 的下一个数,是【)B 10】。

【0B 10】之后呢,是【0B 11】。【0B 11】之后是啥呢? 

右边的位为1,再往下数的话,1 归为 0,然后向上进一位,也就是向左边的位进一位。左边的位也是1,加上右边进位过来的1 以后,它也要归零,并向上进一位。结果呢,【0B 11】的下一个数,是【0B 100】。

【0B 101】的下一个数是【0B 110】。

【0B 111】的下一个数是【0B 1000】。

【0B 1001】的下一个数是【0B 1010】。

【0B 1011】的下一个数是【0B1100】。

【0B 1101】的下一个数是【0B 1110】。

【0B 1111】的下一个数是【0B 10000】。

【0B 11111】的下一个数是【0B 100000】。

【0B 11 1111】的下一个数是【0B 100 0000】,对于这个数,由于数位太多,所以呢,书写的时候,我就从右边数,每4个二进制位算作一组,满一组以后,若是再往高位还有数,那就空一格,来放置高位数。

在上面,我写的是6位与7位的四位一组分隔写法。如果是16位呢?请看下面的示例。

0B 101 0100 1011

懂了没?从右边数,四个一组。满一组之后,左边还有数位,那就空一格,然后放置剩余的高位。剩余的高位,依然是4位一组,满4位以后,依然还有更高的位,那就在这从右往左数的第二个4位的左边,再空一格,然后放置剩余的高位。

我们再来看一个32位数的书写例子。

0B 1011 1001 1010 0010 1001 0000 0100 0110

我有点说不明白这个规律。但是呢,经过这样子的举例,我相信,你应该是能够看懂了。

二.    八进制数数

在上面,我是回顾了十进制数数和二进制数数。接下来呢,我来讲解八进制数数。

十进制有 10 个表示数的基本符号,为 0 到 9 。

二进制有 2 个表示数的基本符号,为 0 和 1 。

类似地,八进制有 8 个表示数的基本符号,为 0 到 7 八个数字符号。

十进制计数的法则是逢十进一,二进制的计数法则是逢二进一。八进制是什么法则呢?类推就可以了,是逢八进一。

我们来查数。

不过,八进制和十进制数很像,要如何来区分,我们所标记的数,是八进制而非十进制呢?

C 语言里面,给了我们标记八进制数的方法。那就是,以0开头的数,便是八进制数。所以呢,我们来查吧。

从0开始,首先呢,是 00,然后是01,02,03,04,一直到07 。

八进制的计数法则,是逢八进一。那就是,想要求得 07 的下一位,应该 7 归 0,并向上进一位,结果为 010 。北京的区号应该就是 010 吧,希望大家有机会去北京玩啊。

010 再往后,依次是 011,012,013,014,一直到 017 。

017的下一位是什么呢?根据逢八进一的法则,应该最低位的7归零,然后向上进一位,结果为 020 。

再往下,021,022等等的计数,相信大家就能够明白了。

07的下一个数是010,017的下一个数是020。

027的下一个数是啥呢?相信大家能够自己推理得到,是 030。

037的下一个数是 040 。

047 的下一个是050 。

057的下一个数是060。

067的下一个数是 070 。

077的下一个数是啥呢?

右边的7要归零,并向上进一位。然后呢,左边的数 7,加上右边进位而来的1,这导致左边的7依然要归零并向上进一位,结果为 0100 。

0117 的下一个数是 0120 。

0137 的下一个数是 0140 。

0777 的下一个数是啥呢?

右边的数 7 归零并向上进一位,中间的7和左边的 7 也是这样的逻辑,结果为 01000 。

07777 的下一个数是 010000 。

077777 的下一个数是 0100000 。

例子,我已经是举的足够多了。我相信,你应该是能够理解了。如果还不理解,就请自己找别的教材来查吧。

结束语

这一节,应该还算是可以,不难。希望大家能够学好啊。

专栏导航

本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。

(一)WIn32 专栏导航

上一篇:计算机基础:二进制基础05,八进制简介

回到目录

下一篇:无

(二)MFC 专栏导航

上一篇:计算机基础:二进制基础05,八进制简介

回到目录

下一篇:无

相关文章:

  • 【Flink银行反欺诈系统设计方案】6.用户画像数据与反欺诈系统的关联思路
  • nature genetics | SCENT:单细胞多模态数据揭示组织特异性增强子基因图谱,并可识别致病等位基因
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数
  • 题解:AT_past202109_h 最短経路
  • 机器学习在地图制图学中的应用
  • c++ 重写基类成员函数
  • RSA的理解运用与Pycharm组装Cryptodome库
  • 案例1_3:流水灯
  • 云端秘境:EC2的奇幻之旅
  • Linux系统上安装kafka
  • 设计模式-创建型模式详解
  • php代码审计工具-rips
  • 【时间序列聚类】从数据中发现隐藏的模式
  • 轻松上手 —— 通过 RPM 包快速部署 NebulaGraph
  • Kubernetes Pod网络组件解析与选型指南
  • JJJ:linux sysfs相关
  • 高阶哈希算法
  • 以商业思维框架为帆,驭创业浪潮前行
  • 哪吒2票房分析
  • 解析 SQL,就用 sqlparse!
  • 网站的版式/最近的新闻有哪些
  • 网站访问过程/站长统计是什么意思
  • 招工做的网站/域名注册优惠
  • 代理网店怎么开/快速网站排名优化
  • 计算机专业设计一个网站/推广工作的流程及内容
  • 开发网站教程/怎么做手工