计算机科学导论笔记(一)

news2025/3/1 8:10:06

一、绪论

1.1 图灵模型

Alan Turing在1937年首次提出了一种通用计算设备的设想,他设想所有的计算都能在一种特殊的机器上执行,这就是现在所说的图灵机。但图灵机只是一种数学上的描述,并不是一种真正的机器。

1.1.1 数据处理器

在讨论图灵模型之前,我们先把计算机定义为数据处理器数据处理器是一种黑盒子,输入数据经过计算机处理得到我们想要的输出,但是我们并不清楚计算机的内部情况。

数据处理器的定义过于广泛,便携式计算器也符合这种定义 .并且定义中没有指出计算机能够处理的数据的类型以及是否能处理一种以上的类型。一些用于专门用途的机器也符合定义,但是如今我们对计算机的理解应该是一种通用的机器,它能够完成许多不同的工作。

1.1.2 可编程数据处理器

图灵模型是一种适用于通用计算机的更好模型。 它增加了一个额外的元素(程序)到计算机中。程序是告诉计算机对数据处理的指令集合

输出数据取决于输入数据程序。相同的输入 ,不同的程序会输出不同结果;相同的程序,不同的输入会输出不同结果;相同的输入,相同的程序会输出相同的结果。

1.1.3 通用图灵机

通用图灵机是对现代计算机的首次描述,该机器只要提供了合适的程序就能做任何运算。

1.2 冯 · 诺依曼模型

 基于通用图灵机的计算机都是在存储器中存储数据。冯诺依曼在1944-1945年间指出,程序数据在逻辑上是相同的,因此程序也能存储在存储器中。

1.2.1 四个子系统

存储器:用来存储程序和数据。

算术逻辑单元:用来进行算术和逻辑运算。

控制单元:用来对存储器、算术逻辑单元、输入输出等子系统进行控制操作。

输入 / 输出:输入子系统负责从计算机外部接收数据和程序,输出子系统负责将计算机处理好的结果输出到计算机外部。

1.2.2 存储程序概念

冯诺依曼模型要求程序必须存储在存储器中。这和早期只有数据是存储在存储器中的计算机结构完全不同,程序在早期的计算机中体现为操作一系列的开关或改变其配线。现代计算机的存储单元用来存储程序和数据,这意味着程序和数据应该有相同的格式,实际上它们都是以位模式(0和1序列)存储在内存中。

1.2.3 指令的顺序执行

冯诺依曼模型中的一段程序是由数量有限的一组指令组成。控制单元从内存中提取一条指令,解释指令,接着执行指令,也就是说指令是一条接着一条顺序执行的。指令的顺序执行是基于冯诺依曼模型的计算机的初始条件

1.3 计算机组成部分 

我们可以认为计算机由三大部分组成:计算机硬件、数据、计算机软件。

1.3.1 计算机硬件

当今计算机硬件基于冯诺依曼模型,包含四个部分。

1.3.2 数据

存储数据:冯诺依曼模型并没有定义如何存储数据。如果一台计算机是电子设备,最好的存储方式应该是电子信号,例如电子信号的出现和消失来表示不同的状态(0和1)。

组织数据:尽管数据只能以一种形式(位模式)存储在计算机内部,但在计算机外部却可以有不同的形式(数据结构)。

1.3.3 计算机软件

图灵或冯诺依曼模型的主要特征是程序的概念。在早期的计算机中,编程指操作一系列开关或改变配线。

在冯诺依曼模型中,程序必须存储在存储器中,并且程序必须是有序的指令集。为什么程序必须由不同的指令构成,这是因为如今计算机能够完成成千上万的任务,如果这些任务的程序之间没有任何公用段,那么编程将变得十分困难,通过指令集可以将编程简化。

算法:程序包含一系列的指令执行使得编程成为可能,程序员通过指令集中的指令组合完成特定的运算任务,按照有序指令解决问题的的方法就是算法。

语言:早期只有机器语言一种计算机语言,程序员依靠写指令的方式(位模式)来编写程序,但是后来随着程序越来越大,这种方式枯燥且容易出错,就出现了更高级的语言。

软件工程:指结构化程序的编写与设计。今天,它不仅仅描述完成某一任务的应用程序,还包括程序设计中应该严格遵守的原理和规则。

操作系统:在编程中,有些指令几乎会在所有的程序中用到,如果只编写一次就能用于所有程序,那么编程的效率就会大大提高,这就出现了操作系统的概念。操作系统最初是为程序访问计算机部件提供方便的一种管理程序,今天操作系统能完成更多的工作。

二、数字系统

数字系统定义了如何用独特的符号表示一个数字。

2.1 位置化数字系统

位置化数字系统中,符号所处的位置决定了它表示的值,在位置化数字系统中,数字表示为:

它的值是:

其中,S 是一套符号集,b 是底(或基数),它等于符号集中的符号总数。其中,S_{l} 和 S_{k} 是表示数字分数部分和整数部分的符号。b 的非负数幂表示该数字的整数部分,负数幂表示小数部分。\pm 表示该数字可正可负。

十进制系统:S=\left \{ 0,1,2,3,4,5,6,7,8,9 \right \} ,b=10,整数和实数的表示都与上面的定义一致。例如,-(256)_{10} 的值为 -\left ( 2\times 10^{2}+5\times 10^{1}+6\times 10^{0}\right )=-256,正号、括号和底在平时省略。一个 n 位十进制整数的最大值为 10^{n}-1

二进制系统:S=\left \{ 0,1 \right \} ,b=2,整数和实数的表示都与上面的定义一致。例如,-\left ( 1110 \right )_{2} 的值为 -\left ( 1\times 2^{3}+1\times 2^{2}+1\times 2^{1}+0\times 2^{0} \right )=-14。一个 n 位二进制整数的最大值为 2^{n}-1.

十六进制、八进制系统:二进制虽然用于计算机内部存储,但是在外部表示数字并不方便,又由于十进制与二进制之间并无直接联系,所以发明了了十六进制和八进制,为了在外部更方便的表示数字且容易转换。十六进制:S=\left \{ 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F \right \} ,b=16,由于一个特定符号只能表示一个数字(为了避免歧义),所以 10-15 由字母表示。八进制:S=\left \{ 0,1,2,3,4,5,6,7 \right \} ,b=8。数字的表示和求值等均与上面类似,就不再细写。

其他进制转换十进制:这种转换是很简单的,利用上面的定义,直接对其他进制的数字进行求值即可。

十进制转换其他进制:

十进制整数为源,目标进制为底。每次用底除源得到的结果都直接放在上一次得到结果的左边。所有进制转换的步骤都是相同的。

 

十进制的小数部分为源,目标进制为底。用底乘源得到结果的整数部分放在上一次得到的结果的右边。所有进制的转换步骤都是相同的。

2.2 非位置化数字系统

该系统的数字表示为:

它的值为:

非位置化数字系统中符号的值是固定的,与它所在的位置无关。罗马数字系统就是一个典型的非位置化数字系统。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

X和Ku波段小尺寸无线电设计

卫星通信、雷达和信号情报(SIGINT)领域的许多航空航天和防务电子系统早就要求使用一部分或全部X和Ku频段。随着这些应用转向更加便携的平台,如无人机(UAV)和手持式无线电等,开发在X和Ku波段工作,同时仍然保持极高性能水平的新型小尺寸、低功耗…

自动化测试——读写64位操作系统的注册表

非Web程序(桌面程序)的设置一般都存在注册表中。 给这些程序做自动化测试时, 需要经常要跟注册表打交道。 通过修改注册表来修改程序的设置。 本章介绍如何利用C#程序如何操作注册表, 特别是如何操作64位操作系统的注册表。 自动…

一文介绍Doris

文章目录一、架构介绍1.名词解释2.FE(Frontend)3.BE(Backend)4.元数据结构二、存储介绍1.DataPage2.Footer信息3.index pages三、索引介绍1.Ordinal Index(一级索引)2.Short Key Index 索引3.ZoneMap Index 索引4.BloomFilter索引5.Bitmap Index 索引6.索…

tensor常用代码

1.创建一个自定义形状的tensor,元素类型为int,并为随机数 a torch.randint(1, 10, size[4,2]) # 元素为1-10之间的随机数 2.将tensor中,元素类型改为float b a.float() b a.double() 3.在tensor的最外层增加一个维度 (tensor[None]) …

FATE数据上传、读取、训练、保存

fate如何安装?本文续这篇文章。 背景 fate是一个服务,还原联邦学习,所以分client和host两种身份,一般来说用户都是client,用户想要上传自己的数据,合并他人数据最终获得一个更好的模型,所以要…

织梦文章无图自动出图配图插件支持采集

织梦文章无图自动出图配图插件的优点 1、提高文章的可读性和吸引力:插入图片可以丰富文章的内容和形式,增强读者的阅读体验和吸引力,提高文章的点击率和转化率。 2、节省时间和精力:手动添加图片需要花费大量时间和精力去寻找和…

浅谈cocos2dx渲染方式

场景的渲染 Node:visit 其作用是遍历整个场景渲染树。 部分代码如下 if(!_children.empty()) {sortAllChildren();// draw children zOrder < 0for(auto size _children.size(); i < size; i){auto node _children.at(i);if (node && node->_localZOrder…

HU4056H耐压高达28V,具有电源OVP功能的1A单节锂离子电池线性充电IC

产品概述 HU4056H是一款完整的采用恒定电流/恒定电压的高压、大电流、单节锂离子电池线性充电 IC。最高耐压可达 28V&#xff0c; 6.5V 自动过压保护&#xff0c;充电电流可达 1A。 由于采用了内部 PMOSFET 架构&#xff0c;加上防倒充电路&#xff0c;所以不需要外部隔离二…

【博学谷学习记录】超强总结,用心分享丨人工智能 机器学习 集成学习错题总结

目录题目1&#xff1a;下面关于提升树的说法哪个是正确的&#xff1f;题目2&#xff1a;下面关于随机森林和梯度提升集成方法的说法哪个是正确的&#xff1f;集成学习主要有哪几种框架&#xff1f;工作过程是&#xff1f;题目1&#xff1a;下面关于提升树的说法哪个是正确的&am…

亿发软件:钉钉移动ERP业务在线,审批、管理更方便!

钉钉系统是企业级智能移动办公平台&#xff0c;平台覆盖大中小微各量级企业&#xff0c;帮助中国企业移动办公管理。企业无需复杂的部署操作&#xff0c;在对应的功能制定流程和相关负责人即可。 亿发企业ERP管理系统于2022年与钉钉系统做了对接&#xff0c;提供一站式的企业管…

VIF-Benchmark: All infrare and visible image fusion method in one framework

VIF_Benchmark Github 地址: https://github.com/Linfeng-Tang/VIF-Benchmark 完整Project下载地址&#xff1a;https://download.csdn.net/download/fovever_/87514164 我们把所有主流的基于深度学习的红外和可见光图像融合方法都集成在了这个框架中。 这些方法包括&#xff1…

MM32开发教程(LED灯)

文章目录前言一、MM32介绍和STM32的区别二、板载LED灯原理图三、代码编写总结前言 今天将为大家介绍一款性能高体积小的MM32&#xff0c;这款开发板出自百问网团队。他就是灵动的MM32F3273&#xff0c;他体积非常小便于携带。 有128KB的SRAM、512KB的Flash、而且还支持双TypeC…

Mutual-Structure for Joint Filtering

以前的联合/引导滤波器将参考图像中的结构信息直接传输到目标图像&#xff0c;它的主要缺点&#xff1a;两个图像中可能存在完全不同的边缘。简单地将所有图像传递给目标可能会出错。 作者对结构不一致性问题&#xff0c;提出了相互结构的概念&#xff0c;以增强基于目标图像和…

【项目管理】始于需求,而终于需求的最终落地

每个产品都是需要一系列需求的慢慢搭建&#xff0c;并且需求对于一个产品来说是非常重要的&#xff1b;我们对需求进行分配以及执行&#xff0c;需要一整个团队的配合以及执行&#xff0c;才可以最终达到一个好的效果&#xff1b; 项目一般是由一系列的需求组成的&#xff0c;需…

548、RocketMQ详细入门教程系列 -【消息队列之 RocketMQ (二)】 2023.02.28

目录一、Java 访问 RocketMQ 实例1.1 引入依赖1.2 消息生产者1.3 消息消费者1.4 启动 Name Server1.5 启动 Broker1.6 运行 Consumer1.7 运行 Producer二、参考链接一、Java 访问 RocketMQ 实例 RocketMQ 目前支持 Java、C、Go 三种语言访问&#xff0c;按惯例以 Java 语言为例…

SQL数据库权限管理-10个数据库角色

为便于管理数据库中的权限&#xff0c;SQL 数据库提供了服务器角色、数据库角色、用户等来划分不同用户拥有的权限差异。今天给大家介绍数据库角色对应的权限。 数据库级角色 存在两种类型的数据库级角色&#xff1a; 数据库中预定义的“固定数据库角色”可以创建的“用户定…

CSO面对面丨中核华辉刘博:应对大型央国企数字化转型道路上必须攻克的安全难题

“极致”&#xff0c;一直是大型央国企网络安全工作建设追求的目标。随着我国数字化转型全面走深向实&#xff0c;网络安全风险、数据管理、层出不穷的网络攻击&#xff0c;为各领域大型央国企数字化转型带来了更多的挑战。如何充分发挥优势、携手各方构筑网络安全屏障、提升安…

Codeforces Round #854 by cybercats (Div. 1 + Div. 2)

A. Recent Actions给出n个格子&#xff0c;从上到下是1~n&#xff0c;其他的n1~。。。不在格子内。给出m个操作&#xff0c;若该操作的数字不在格子内&#xff0c;那就将它拿到格子的第一个位置&#xff0c;同时格子第n个位置的数被挤下去&#xff1b;若操作的数字在格子内&…

Java简单的生成/解析二维码(zxing qrcode)

Hi I’m Shendi Java简单的生成/解析二维码&#xff08;zxing qrcode&#xff09; 在之前使用 qrcode.js 方式生成二维码&#xff0c;但在不同设备上难免会有一些兼容问题&#xff0c;于是改为后端&#xff08;Java&#xff09;生成二维码图片 这里使用 Google 的 zxing包 Jar…

基于STM32的DHT11温湿度控制系统仿真设计

基于STM32的DHT11温湿度控制系统仿真设计(仿真程序报告讲解&#xff09;演示视频1.主要功能2.仿真3. 程序4. 设计报告1主控制器选择5.设计内容 百度云网盘下载链接仿真图proteus 8.9程序编译器&#xff1a;keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;C0076 演示…