计算机基础知识
TODO:会持续更新计算机基础知识(想到就会补充)
主板:由CPU、内存、外存、I/O设备组成
1Byte = 8bit位(1B字节 = 8b)
210B=1k 220B=1M 230B=1G
32位CPU是有32条总线最多支持232B也就是4GB的内存寻址能力,64位同理。
总线按照功能通常分为:
- 片内总线:CPU芯片内部的总线,是CPU内部寄存器和寄存器之间、寄存器和ALU之间的公共连接线
- 系统总线,也可以按传输的内容分
- 数据总线(Data Bus,DB):双向传输实际的数据,如指令、数字、字符等。是计算机CPU、IO、内存、外存等等部件之间传输数据的主要路径。
- 地址总线(Address Bus,AB): 单向用于传输内存地址或I/O设备地址给CPU。它指定了正在访问的内存单元或设备的位置。
- 控制总线(Control Bus,CB):双向传输控制信号,如读写信号、时钟信号、复位信号等。用于协调不同部件之间的操作。
- 通信总线:用于计算机系统之间传送的总线,也称外部总线。e.g,网线
内存一般指主存。内存可以存放数据,程序要先放在内存才能被CPU处理。——因为磁盘读写速度慢,CPU快,放到内存可以缓和速度矛盾
内存中有一个又一个的小房间,每个小房间叫做存储单元:如按字节编址,则意思每个存储单元大小为1字节即1B=8bit位。eg,如果按字编址且字长16位是两个字节,则每个存储单元是两个字节16位。
即第一个电脑4G内存,是指内存大小4×230bit,也就是如果按字节编址 ,会有232个存储单元,则需要32个二进制位来表示这个内存各个"小房间"
system指令的了解
#include<iostream>
int main() {
system("shutdown /s");//1分钟后关机
//system("shutdown /a");//解除关机
//我觉得病毒文件的关机通常会牵扯到shutdown,因为如果通过一些API会检测出来,而shutdown是系统本身的文件不会被检测出来
return 0;
}//在VS中运行后会在一分钟后关闭计算机关机,记得解除
system("pause");//暂停
system("cls");//清除终端窗口内容clear screen
system("C:\\Users\\1.text");//打开路径下文件
system("color 13");//控制台窗口的背景和字体颜色
system("mode con clos=80 lines=40");//mode命令控制窗口大小宽80高40
也可以通过终端控制台的右键属性自定义自定义窗口字体颜色背景颜色。
进制表达示范
十进制:'
可以帮助肉眼分析数据 DEC
int data = 123'456;
std::cout<<12'45<<std::endl;
二进制:可以用0b
或0B
表示 BIN
int a = 0b11;
std::cout << a << (char)10;//输出十进制3
std::cout << 0B111 << (char)10;//输出十进制7
八进制:前缀0
表示 OCT
int a = 013;
std::cout << a << (char)10;//输出十进制11
std::cout << 021 << (char)10;//输出十进制17
十六进制:前缀0x
或0X
HEX
int a = 0X1F;//abcdefABCDEF无论大小写都可以
std::cout << a << (char)10;//输出十进制31
std::cout << 0x1a << (char)10;//输出十进制26
attention:刚刚的所有进制表达示范都可以加上后缀如 0b111ul,后面的ullULL大小写都可以来扩展更新类型
变量定义方式:类型 名字 {初始值}; 或者 类型 名字 = 初始值;
常量定义方式:
直接使用值
const 类型 名字 {初始值}; //或 =
类型 const 名字 {初始值}; //或 =
define 名字 值
bool细节
bool sign = 3;//只要sign不是 0/false 就会输出 1/true。
std::cout << sign << std::endl;//输出 1