【学习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

相关文章

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin