当前课程知识点:C++语言程序设计基础 >  第1章 绪论 >  信息的表示和储存 >  计算机的数字系统

返回《C++语言程序设计基础》慕课在线视频课程列表

计算机的数字系统在线视频

计算机的数字系统

计算机的数字系统

计算机的数字系统

l二进制系统;

l基本符号:0、1。


程序中常用的数制:

1573874625(1).png

R 进制转换为十进制:

l各位数字与它的权相乘,其积相加,例如:


 (11111111.11)2 =1×27+1×26+1×25+1×24+1×23+1×22+1×21+1×20+1×2-1+1×2-2 =(255.75)10

十进制整数转换为R 进制整数:

l“除以R取余”法

1.png所以 6810=10001002

十进制小数→ R 进制小数:

l“乘以R取整”法。

2.png所以 0.312510  = 0.01012

二、八、十六进制的相互转换

l1位八进制数相当于3位二进制数;

l1位十六进制数相当于4位二进制数,例如:

(1011010.10)2=(001011010.100)2=(132.4)8

(1011010.10)2=(01011010.1000)2=(5A.8)16

(F7)16=(11110111)2=(11110111)2

 


下一节:数据的编码表示

返回《C++语言程序设计基础》慕课在线视频列表

计算机的数字系统课程教案、知识点、字幕

计算机的数值系统是二进制系统

二进制系统它状态少

只有两种状态

所以在电路里面呢

能够比较稳定的表现这两种状态

如果再多一种状态

让它表现三种状态

那么它的稳定性就会差很多

那更不要说

让它表示十进制的十种状态了

所以目前来讲

我们的技术就能够让计算机

稳定的表示两种状态

所以它的数字系统

用的都是二进制

下面这里列出了一个表

这个表里不仅列出了二进制

还列出了八进制和十六进制

大家就会奇怪

为什么老师在这个地方

要引入八进制和十六进制呢

我们知道人习惯用十进制

那么计算机只能用二进制

那好吧有十进制和二进制

人用十进制

给计算机交互的时候

我们用二进制是不是就可以了

干吗要提到八进制和十六进制

你想想二进制

可十进制之间要转换

不是一眼就看得出来它是几的

那有的时候我们希望观察一下

现在内存里面到底存的数据

它的直接状态是什么

它的真实状态是什么

如果你看到的

都是二进制形式的话

你会没有多少反应

如果这个位数特别多

你不是一眼就计算得出

它对等到十进制的什么数

但是八进制和十六进制呢

你看8是什么 2的3次方

16呢 2的4次方

所以我们就知道了

三个二进制位

正好构成一个八进制位

四个二进制位

正好构成一个十六进制位

所以我们略有经验一点

看到一串二进制码

一眼立刻就翻译出来

它的八进制是几十六进制是几

或者反过来

你看到八进制的数据

十六进制的数据

马上直观就能转换成二进制

这样的话八进制和十六进制

毕竟它状态多几个

十六进制的状态更多

有十六个状态

那么我们人阅读起来方便

而它跟二进制又有对等关系

这样在程序中用起来又比较方便

所以我们对要八进制

和十六进制也要有了解

在C语言和C++语言中呢

也允许你使用八进制

和十六进制数据的

但是作为高级语言

我们不能在程序中

使用二进制数据

虽然我们知道计算机喜欢二进制

但是那由编译器去翻译吧

我们不能直接用高级语言里面

写二进制数据

所以很多时候我们会

用八进制和十六进制

接下来我们来看

其他的二进制八进制

十六进制这些

怎么去转成十进制呢

能不能转换呢

这个转换规则很简单

我们用R代表十进制以外的

其他进制

那么将R进制转成十进制

只要用它的每一位的数字

去乘以它的权重

然后累加起来就可以了

这里给出了一个例子

是将二进制数据转换成

十进制数据的例子

大家看一下

就理解这个转换方式了

那么如果说我们要用十进制数据

转换成二进制

或者其他的进制

怎么转换呢

这里我们给出了由十进制

转换成R的进制的整数

都是整数它的转换方式

那么将一个十进制整数

转换成R进制整数

用的是除以R取余的方式

现在我们来看这个计算过程

开始我们要将这个十进制的68

转换成二进制

那不断的除以2取余

这里把余数都在旁边列出来

列成一竖列了

每一次都除以2取余

当然余数为0的时候

我们就列个0

那最开始产生的余数是最低位的

最后产生的余数是最高位的

直到这个商数为0为止

这样我们把产生的余数

依次列出来

就形成了它转换以后的

这个二进制的结果了

如果我们要将十进制的小数

转换成R进制的小数怎么转换呢

那这个方法就乘以R取整

比如说我们这里举一个例子

将一个十进制的小数

转换成二进制的小数

大家看这个例子的计算过程

比如说我们要将这个0.3125

转换成二进制的小数

那就不断的乘以2

乘以2取整也就是说

大家看第一次乘以2

整数数位是0 0就放在这儿

然后把它小数部分

拿过来再乘以2

然后进位到整数部分留在那儿

剩下的小数部分再乘以2

就一直持续这个过程

直到小数部分结果为0

这样我们把乘以2取整的

那些整数部分的内容依次列出来

最开始形成的那个整数是最高位

最后形成的整数部分是最低位

这样就完成了一个

由十进制的小数

转换成二进制的小数的过程

那么二进制和八进制十六进制

它们之间的互相转换

就非常容易了

正好三个二进制位

是一个八进制位

四个二进制位是一个十六进制位

这个大家都会转换

C++语言程序设计基础课程列表:

第1章 绪论

-导学

--第1章导学

-计算机系统简介

--计算机系统简介

--计算机系统简介 测试题

-计算机语言和程序设计方法的发展

--计算机语言和程序设计方法的发展

--计算机语言和程序设计方法的发展 测试题

-面向对象的基本概念

--面向对象的基本概念

--面向对象的基本概念 测试题

-程序的开发过程

--程序的开发过程

--程序的开发过程 测试题

-信息的表示和储存

--计算机中的信息与存储单位

--计算机的数字系统

--数据的编码表示

--信息的表示和储存 测试题

-实验指导

--实验一:VS开发环境介绍

第2章 C++简单程序设计(一)

-导学

--第二章导学

-C++语言概述

--C++的特点和程序实例

--C++字符集和词法记号

--C++语言概述 测试题

-基本数据类型、常量、变量

--基本数据类型、常量、变量

--程序举例

--基本数据类型、常量、变量 测试题

-运算与表达式

--算术运算与赋值运算

--逗号运算、关系运算、逻辑运算和条件运算

--Sizeof运算、位运算

--运算优先级、类型转换

--运算与表达式 测试题

-实验二:简单程序设计(上)

--实验二:简单程序设计(上)

第2章 C++简单程序设计(二)

-数据的输入和输出

--数据的输入和输出

--数据的输入和输出 测试题

-选择结构

--if语句

--switch语句

--选择结构 测试题

-循环结构

--循环结构——while语句

--do-while语句

--for语句

--嵌套的控制结构、其他控制语句

--循环结构 测试题

-自定义类型

--自定义类型

--自定义类型

-第2章小结

--第二章小结

-实验二:C++简单程序设计(下)

--实验二C++简单程序设计(下)

第3章 函数

-导学

--导学

-函数定义

--函数定义

--函数定义 测试题

-函数调用

--函数调用(例3-1)

--例3-2

--例3-3

--例3-4

--例3-5

--例3-6

--函数调用 测试题

-嵌套与递归

--函数的嵌套调用(例3-7)

--函数的递归调用(例3-8)

--例3-9

--例3-10

--嵌套与递归 测试题

-函数的参数传递

--函数的参数传递

--函数的参数传递 测试题

-引用类型

--引用类型(例3-11)

--引用类型 测试题

-含有可变参数的函数

--含有可变参数的函数

--含有可变参数的函数 测试题

-内联函数

--内联函数(例3-14)

--内联函数 测试题

-constexpr函数

--constexpr函数

--CONSTEXPR函数课后习题

-带默认参数值的函数

--带默认参数值的函数

--默认参数值例(3-15)

--带默认参数值的函数 测试题

-函数重载

--函数重载(例3-16)

--函数重载 测试题

-C++系统函数

--C++系统函数(例3-17)

--C++系统函数习题

-第3章小结

--第三章小结

-实验三(上)函数的应用

--实验三(上)函数的应用

-实验三(下)函数的应用

--实验三(下)函数的应用

第4章 类与对象

-导学

--导学

-面向对象程序的基本特点

--面向对象程序的基本特点

--面向对象程序的基本特点 测试题

-类和对象

--类和对象的定义

--类和对象的程序举例

--类和对象 测试题

-构造函数

--构造函数基本概念

--构造函数例题(1)——例4-1

--构造函数例题(2)——例4-2

--委托构造函数

--复制构造函数

--复制构造函数调用举例

--构造函数 测试题

-析构函数

--析构函数

--析构函数 测试题

-类的组合

--类的组合

--类的组合程序举例

--前向引用声明

--类的组合 测试题

-UML简介

--UML简介

--UML简介课后习题

-结构体与联合体

--结构体(例4-7)

--联合体(例4-8)

--结构体与联合体 测试题

-枚举类

--枚举类

--枚举类 测试题

-第4章小结

--第四章小结

-实验四(上)

--实验四(上)

-实验四(下)

--实验四(下)

第5章 数据的共享与保护

-导学

--导学

-标识符的作用域与可见性

--标识符的作用域与可见性

--标识符的作用域与可见性 测试题

-对象的生存期

--对象的生存期

--对象的生存期 测试题

-类的静态成员

--静态数据成员(例5-4)

--静态函数成员(例5-5)

--类的静态成员 测试题

-类的友元

--类的友元(例5-6)

--类的友元 测试题

-共享数据的保护

--共享数据的保护(例5-7)

--共享数据的保护 测试题

-多文件结构和预编译命令

--多文件结构和预编译命令(例5-10)

--多文件结构和预编译命令 测试题

-第5章小结

--小结

-实验五

--实验五

第6章 数组、指针与字符串(一)

-导学

--导学

-数组的定义与初始化

--数组的定义与使用

--数组的储存与初始化

--一维数组应用举例

--数组的定义与初始化 测试题

-数组作为函数的参数

--数组作为函数参数(例6-2)

--数组作为函数的参数 测试题

-对象数组

--对象数组

--对象数组 测试题

-基于范围的for循环

--基于范围的for循环

-指针的定义和运算

--指针的概念、定义和指针运算

--指针的初始化和赋值

--指针的算术运算、关系运算

--指针的定义和运算 测试题

-综合实例

--综合实例

-实验六(上)

--实验六上

第6章 数组、指针与字符串(二)

-指针与数组

--用指针访问数组元素

--指针数组

--指针与数组 测试题

-指针与函数

--以指针作为函数参数

--指针类型的函数

--指向函数的指针

--指针与函数 测试题

-对象指针

--对象指针

--对象指针 测试题

-动态内存分配

--动态分配与释放内存

--申请和释放动态数组(一)

--申请和释放动态数组(二)

--动态内存分配 测试题

-智能指针

--智能指针

-vector对象

--vector对象

--vector对象 测试题

-对象复制与移动

--深层复制与浅层复制

--移动构造

--对象复制与移动 测试题

-字符串

--C风格字符串

--string类

--字符串 测试题

-第6章小结

--第六章小结

-综合实例

--综合实例

-实验六(下)

--实验六(下)

计算机的数字系统笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。