【学习Day1】计算机基础

2024-05-30 00:36
文章标签 基础 学习 计算机 day1

本文主要是介绍【学习Day1】计算机基础,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
✍🏻记录学习过程中的输出,坚持每天学习一点点~
❤️希望能给大家提供帮助~欢迎点赞👍🏻+收藏⭐+评论✍🏻+指点🙏

1.1 中央处理单元CPU

中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU 自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。

CPU的功能

CPU的主要功能有四个,分别是程序控制、操作控制、时间控制、数据处理
1、程序控制:这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机工作的正确性。
2、操作控制:一条指令的功能往往是由计算机中的部件执行一系列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。
3、时间控制:时间控制就是对各种操作实施时间上的定时。在一条指令的执行过程中,在什么时间做什么操作均应受到严格的控制。只有这样,计算机才能有条不紊地自动工作。
4、数据加工:即对数据进行算术运算和逻辑运算,或进行其他的信息处理。

CPU的组成

  • 运算器(数据加工、算数运算、逻辑运算)
    • 算术逻辑单元ALU:能实现多组算术运算和逻辑运算的组合逻辑电路 6+7-8 = 6+7+(-8)
    • 累加器:数据暂存,通用寄存器,用来寄存计算过程中的中间数据
    • 状态条件寄存器:借位、进位等存放在这里
    • 缓冲寄存器:用来暂时存放由内存储器读出的一条指令或一个数据字
  • 控制器(保证指令执行、处理异常事件)
    • 指令寄存器:(IR,Instruction Register),用于暂存当前正在执行的指令 (二进制)
    • 程序计数器:用于存放下一条指令所在单元的地址的地方 PC=PC+1
    • 地址寄存器:用来保存当前CPU所访问的内存单元的地址
    • 指令译码器:通过指令译码器分析二进制
  • 寄存器组(保存程序的中间结果)
  • 总线:计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。

练习题

在CPU中,( B )不仅要保证指令的正确执行,还要能够处理异常事件。
A. 运算器
B. 控制器
C. 寄存器
D. 内存总线

1.2 数据表示

二进制转十进制

无符号的二进制整数
从右往左依次用二进制位上的位数乘以2的n次幂的和(n大于等于0),n从0开始。
1111 = 1x23 + 1x22 + 1x21 + 1x20 = 8 + 4 + 2 + 1 = 15
带符号的二进制整数
除去最高位的符号位(1为负数,0为整数),其余与无符号二进制转化十进制方法相同。
1 111 = -( 1x22 + 1x21 + 1x20) = -7
小数二进制数
从小数点后第1位上的二进制数字乘以2的负一次方
加上第2位上的二进制数字乘以2的负二次方,
以此类推第n位上的二进制数字乘以2的负n次方。

练习题

将二进制1100.101转化为十进制,结果是()。
A. 12.625
B. 12.75
C. 24.625
D. 24.75
1x23 + 1x22 + 0x21 + 0x20 = 12
1x2-1 + 0x2-2 + 1x2-3 = 0.625

十进制转二进制

转化整数
将整数部分除 2,取余当商不为0时,将商作为被除数,继续除2取余直至商位0,将余数按从下到上的顺序记录
转化小数
将小数部分乘2取整,如果结果仍有小数就继续乘2,直到小数部分为0,或者已经达到了精度要求,将取整的结果按从上到下的顺序记录

练习题

将十进制11.75转化为二进制,结果是(A)
A. 1011.11
B. 1010.11
C. 1010.01
D. 1011.01
1x23 + 0x22 +1x21 +1x20 = 11
1x2-1 +1x2-2 = 0.75

1.3 数据表示

原码
最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。
数值0的原码表示有两种形式:[+0]原=0 0000000,[-0]原=1 0000000
以带符号位的四位二进制数为例:1010,最高位为1表示这是一个负数
其它三位010,即022+121+0*20=2
所以1010表示十进制数-2

练习题

若机器字长为8,则+127和-0.5分为表示为( B )。
A. 0 1111111,0 1000101
B. 0 1111111,1 1000000
C. 1 1111111,0 1000000
D. 1 0000000,1 1000101

反码

原码最大的问题就在于一个数加上它的相反数不等于0
0001+1001=1010,1+(-1) =-2
正数的反码 还是等于原码;
负数的反码 就是它的原码除符号位外,其它位按位取反。
数值 0的反码表示有两种形式:[+0]反=0 0000000,[-0]反=1 1111111

补码

正数的补码 等于它的原码
负数的补码 等于反码+1 或 等于 (2^机器字长-|负数|) 原码
数值0有唯一的编码:[+0]补=0 0000000,[-0]补=0 0000000
例:若机器字长为4,计算6-2
计算机中均采用补码进行加减运算

练习题

如果“2X”的补码是“90H”,那么X的真值是( B )(2016上半年试题)
A. 56
B. -56
C.72
D. -72
“90H”中的H为十六进制表示,一个数占四个位,“90”换算成二进制数就是“1001 0000”,这是补码。反码+1是补码,用这个补码减1就是补码。 1001 0000 - 1 =1000 1111(借位减,反码),换成原码,最高位符号位直接下来,就是1111 0000,二进制换算成十进制 12^6 +12^5 + 12^4 + 02^3 + 02^2 + 02^1 + 0*2^0 = 112,符号位下来就是-112,然后2X=-112,解方程,X = -56

计算机系统中采用补码表示有符号的数值,( D )。(2022下半年试题)
A.可以保持加法和减法运算过程与手工运算方式一致
B.可以提高运算过程和结果的精准程度
C.可以提高加法和减法运算的速度
D.可以将减法运算转换为加法运算从而简化运算器的设计

计算机系统中采用补码表示有符号的数值,( B )。(2022下半年试题)
A.可以保持加法和减法运算过程与手工运算方式一致
B.可以提高运算过程和结果的精准程度
C.可以提高加法和减法运算的速度
D.可以将减法运算转换为加法运算从而简化运算器的设计

移码

移码:补码的符号位取反
● 移码的主要用途是表示浮点数的指数(阶码)

正数负数原码最高位为符号位0表示正号其他位存放该数的二进制的绝对值最高位为符号位1表示负号其他位存放该数的二进制的绝对值反码等于原码按它的原码,除符号位外,按位取反补码等于原码反码+1或(2机器字长-|负数|)原码移码补码的符号位取反

浮点数

N=尾数×基数^阶码(指数)
浮点数的表示格式:
阶符+阶码(移码)+数符+尾数(补码)

  • 尾数:用补码表示,位数决定数的有效精度,位数越多精度越高
  • 阶码:用移码表示,位数决定数的表示范围,位数越多范围越大
  • 对阶时,小数向大数看齐
  • 对阶是通过较小数的尾数右移实现的

练习题

浮点数的表示分为阶和尾数两部分。两个浮点数相加时,需要先对阶,即( D )(n为阶差的绝对
值)。(2018上半年试题)
A.将大阶向小阶对齐,同时将尾数左移n位
B.将大阶向小阶对齐,同时将尾数右移n位
C.将小阶向大阶对齐,同时将尾数左移n位
D.将小阶向大阶对齐,同时将尾数右移n位

对于长度相同但格式不同的两种浮点数,假设前者阶码长、尾数短,后者阶码短、尾数长,其它规
定都相同,则二者可以表示数值的范围和精度情况为( C )。(2022下半年试题)
A.二者可表示的数的范围和精度相同
B.前者所表示的数的范围更大且精度更高
C.前者所表示的数的范围更大但精度更低
D.前者所表示的数的范围更小但精度更高

这篇关于【学习Day1】计算机基础的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert