C C++最全【软考笔记】(一)计算机系统基础知识(1),2024年最新作为一个C C++程序员

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

+ [原码和反码和补码和移码](#_46)
+ - [原码和反码](#_49)
	- [补码和移位](#_52)
	- [范围](#_58)
	- [浮点数](#_64)
+ [寻址](#_72)
+ [奇偶检验码](#_76)
+ [海明码](#_79)
+ [循环冗余检验码(CRC)](#CRC_82)
+ [CISC 和 RISC](#CISC__RISC_86)
+ [流水线](#_91)
+ [存储器](#_98)
+ [Cache](#Cache_105)
+ [Cache地址映射](#Cache_109)
+ [中断](#_121)
+ [输入输出(IO)控制方式](#IO_126)
+ [总线](#_140)
+ [加密技术与认证技术](#_143)
+ - [加密技术(只能防止第三方窃听)](#_147)
	- [认证技术(只能防止第三方窃听)](#_150)
	- [加密算法](#_157)
+ [系统可靠度](#_159)

备注软件设计师中级 ing

计算机系统基础知识

计算机硬件基本组成

在这里插入图片描述

CPU

功能

在这里插入图片描述

组成

在这里插入图片描述
运算器 : 主要看前两 个 后面俩个了解
在这里插入图片描述
在这里插入图片描述
控制器

指令寄存器(IR)存放的是从内存中取得指令,就像个中间站一样,不过是存放指令的中间站
程序计数器(PC)存放的是指令的地址,还有计数的功能
地址寄存器(AR)存放的是cpu访问内存单元的地址
指令译码器(ID)是把操作码解析成对应的指令操作


在这里插入图片描述

单位和进制

计算机单位

位 bit b
字节 byte B 1B = 8bit
千字节 KB 1KB = 1024B
兆字节 MB 1MB = 1024KB
吉字节 GB 1GB = 1024MB
太字节 TB 1TB = 1024GB

二进制 转十进制
在这里插入图片描述

八进制 与十进制

在这里插入图片描述

八进制 与十六进制

十六进制表示要注意下 字母表示是防止奇异
在这里插入图片描述

八进制和十六进制转二进制

在这里插入图片描述

进制加减法


八进制 向高位借的18 使用
在这里插入图片描述

原码和反码和补码和移码

在这里插入图片描述

原码和反码

在这里插入图片描述

补码和移位

在这里插入图片描述

  • 移码就是把对应的补码的符号位取反就可以了

在这里插入图片描述

范围
  • n - 1 的原因是因为有符号位 所以 - 1
  • 整数 - 1 是因为 从0开始表示
    在这里插入图片描述
    注意(2)的话
浮点数

在这里插入图片描述
精度由尾数F决定的 F越大精度越高

  • 移码 = 阶码 + 阶符
  • 尾数是包括数符的!!
    在这里插入图片描述

寻址

寻址速度:立即寻址>寄存器寻址>直接寻址>寄存器间接寻址>间接寻址 在这里插入图片描述

奇偶检验码

奇偶检验码只能检查错误不能纠正错误,也就是它能够发现你错了但是错哪里了不知道,并且奇数校验只能检查出代码奇数个出错的编码不能检查出偶数个出错的编码,例如1001用奇数检验码传的时候是11001,如果有1个编码(奇数个编码)出错了,假如变成了11000,那就可以检验的出来这个编码出错了,如果是偶数个编码出错,例如变成了11010,这里两个编码都出错了,但是检验不出来,因为1的个数始终是3个
在这里插入图片描述

海明码

海明码可以检错和纠错,码距是3,这里记得公式2k>=n+k+1就行,其中k是检验位,n是数据位在这里插入图片描述
在这里插入图片描述

循环冗余检验码(CRC)

码距为2,可以检错不能纠错

在这里插入图片描述

CISC 和 RISC

在这里插入图片描述

流水线

在这里插入图片描述
n为总指令数

吞吐率=指令条数/【一条完整指令的时间+(n-1)*流水线周期】

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++是一种面向对象的编程语言,它是从C语言中发展而来的。C++具有强大的编程能力,可以用于开发各种类型的应用程序,包括桌面应用程序、游戏、嵌入式系统、网络应用程序等等。下面是C++的一些重要的理论知识: 1. 基础语法:C++的基础语法与C语言类似,包括数据类型、变量、常量、运算符、表达式、控制结构等等。 2. 类和对象:C++是一种面向对象的编程语言,类和对象是C++的核心特性。类是一种用户定义的数据类型,它封装了数据和方法。对象是类的一个实例,它可以调用类中的方法并访问类中的数据。 3. 继承和多态:继承是面向对象编程的一个重要特性,它允许一个类继承另一个类的属性和方法。多态是指同一个方法可以在不同的对象中表现出不同的行为。 4. 模板和泛型编程:C++支持模板和泛型编程,这是一种基于类型的编程方式,它允许程序员编写通用的代码,可以适用于多种不同的数据类型。 5. 异常处理:C++提供了异常处理机制,它可以处理程序运行时发生的异常情况,如数组越界、空指针引用等等。 6. 标准模板库:标准模板库(STL)是C++一个重要组成部分,它提供了一组通用的数据结构和算法,包括向量、链表、堆、排序、搜索等等。 7. 内存管理:C++是一种底层的编程语言,程序员需要手动管理内存。C++提供了一些内存管理的机制,如new和delete操作符、智能指针等等。 8. 指针和引用:指针和引用是C++的重要特性,它们可以帮助程序员管理内存和访问数据。指针是指向内存地址的变量,引用是变量的别名。 9. 运算符重载:C++允许程序员重载运算符,可以使得程序更加简洁和易读。 10. 文件操作:C++可以对文件进行读写操作,包括文本文件和二进制文件。 以上是C++的一些重要的理论知识程序员需要掌握这些知识才能编写高质量的C++程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值