计算机常识

1.计算机的组成

输入设备
输出设备
存储器
运算器
控制器
cpu:中央处理单元【Central  Processing Unit】,也被称为处理器,是计算机 的运算核心和控制核心
内存:负责硬盘等硬件设备上的数据和cpu之间的交互,缓存程序运行的临时数据

2.软件开发的简介

按照特定顺序组织起来的,一系列计算机指令或者数据

系统软件:是电脑底层的软件,如Windows。
#可以控制计算机运行的程序,并管理整个计算机的资源,是计算机硬件和应用程序之间的桥梁

3.cmdDOS命令

基础命令
windows+r  :打开输入框,输入cmd【commad命令】打开终端
cd xxx     : 切换到指定路径下 【change directory】
cd..       :退回到上一级目录
cd..\..    : 退回到上上一级目录
cd/        : 退回到根目录
dir        : 列出当前路径下所有的内容

 

目录命令
#目录
md  xxxx       :在指定的路径下创建一个名字为xxx的文件夹【make  directory】
rd  xxxx       :移除指定的目录,注意:只能删除空目录【remove directory】
rd  /s  xxxx   :删除指定的目录,不管是否为空,会提示是否需要删除,输入y确定删除【交互式删除】  
rd /s /q  xxx  :强制删除指定的目录,不会出现询问,删除之后没有任何痕迹

 

文件命令
复制代码
#文件
#>:重定向符,将原本默认的输出路径改变为指定的路径
cd>xxx.txt         : 将cd输出的结果输出到xxx.txt文件中,注意:文件中默认有一行内容,为当前的路径
type nul>xxx.txt   :创建一个空文件
copy nul>xxx.txt   : 创建一个非空文件,注意:文件中默认有一行内容,为已复制一个文件
echo xxxx>xxx.txt  : 创建一个非空文件,文件中的内容可以自定义
del xxxx.txt       :强制删除指定文件
del /p  xxxx.txt   :在删除之前会询问是否需要删除
​
#复制移动
copy 源路径  目标路径     :将源路径下的内容拷贝到目标路径下  #copy分为同名拷贝和异名拷贝
move 源路径  目标路径     :将源路径下的内容移动到目标路径下
​
#重命名
ren old  new  :重命名
复制代码

 

4.计算机数据的存储

复制代码
#计算机的作用:存储数据【数据存储在内存中】
#内存简介
内存,Memory,也被称为内存储器,作用的是暂时存放cpu的运算数据,以及和硬盘等外部设备之间进行交互
1KB= 1024B
计算机的内存中以二进制的方式存储数据的
进制转换码制转换
#1.常见的进制:
    二进制【0~1】,
    八进制【0~7,使用数字0表示】,
    十进制【0~9】,
    十六进制【0~9,a~f/A~F,使用数字0x或者0X表示】
​
#2.进制之间的转换
a.十进制-----》二进制
转换原理:
    整数:对十进制整数除2取余运算,直到商为0,将每步得到的余数倒着写出来
    小数:小数部分乘以2取整运算  ,直到整数部分为1,然后将每步得到的整数顺着写出来
b.二进制------》十进制
    转换原理:将二进制按权【位置表示法】展开相加
    举例:
    0000 0110------》1 * 2(2) + 1 * 2(1) + 0 * 2(0) = 6
    1001 0110 ----》150
c.二进制------》八进制
    转换原理:将二进制从右往左进行分组,每三位为一组,不够时补0,然后将每组的二进制转换为十进制,连接起来就是对应的八进制
d.二进制------》十六进制
    转换原理:将二进制从右往左进行分组,每四位为一组,不够时补0,然后将每组的二进制转换为十进制,连接起来就是对应的十六进制
e.十进制------》八进制或者十六进制
    转换原理:
        方式一:先将十进制转换为二进制,然后再将二进制转化为八进制或者十六进制
        方式二:对十进制进行除以8或者16的运算,获取余数
f.八进制或者十六进制------》十进制
    转换原理:将八进制或者十六进制按权展开,相加即可
    
#总结:
    a.计算机存储数据,先开辟空间 ,再存储数据【计算机开辟空间的最小单位为字节】 
    b.数值是正负之分,计算机通过符号位区分正负数,用最高位表示符号位,0表示正数,1表示负数
复制代码

 

编码格式及发展历史
复制代码
#ASCII码表,0~65535
这套编码规则是由美国定制,一共规定了128个字符的编码,比如空格"SPACE"是32(十进制)(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括 32个不能打印出来的控制符号),只占用了一个字节(8 bit)的后面7位,最前面的1位统一规定为0。总共才有128个字符编码,一个字节都没有用完,这好像似乎有点太少了。于是乎,就开始压榨最高位,对其为1时也进行编码,利用最高位进行编码的方式就称为非ASCII编码,如ISO-8859-1编码。
•   48----》字符0
•   65----》大写字母A
•   97----》小写字母a
​
​
#ISO-8859-1
这套编码规则由ISO组织制定。是在 ASCII 码基础上又制定了一些标准用来扩展ASCII编码,即 00000000(0) ~ 01111111(127) 与ASCII的编码一样,对 10000000(128) ~ 11111111(255)这一段进行了编码,如将字符§编码成 10100111(167)。ISO-8859-1编码也是单字节编码,最多能够表示256个字符。Latin1是ISO-8859-1的别名,有些环境下写作Latin-1。但是,即使能够表示256个字符,对中文而言,还是太少了,一个字节肯定不够,必须用多个字节表示。但是,由于是单字节编码,和计算机最基础的表示单位一致,所以很多时候,仍旧使用 ISO8859-1编码来表示。而且在很多协议上,默认使用该编码。比如,虽然"中文"两个字不存在ISO8859-1编码,以GB2312编码为例,应该是D6D0 CEC4两个字符,使用ISO8859-1编码的时候则将它拆开为4个字节来表示:D6D0 CEC4(事实上,在进行存储的时候,也是以字节为单位进行处理)。而如果是UTF编码,则是6个字节e4 b8 ad e6 96 87。很明显,这种表示方法还需要以另一种编码为基础才能正确显示。而常见的中文编码方式有GB2312、BIG5、GBK。
​
​
#GB2312
GB2312其对所收录字符进行了"分区"处理,共94个区,区从1(十进制)开始,一直到94(十进制),每区含有94个位,位从1(十进制)开始,一直到94(十进制),共8836(94 * 94)个码位,这种表示方式也称为区位码,GB2312是双字节编码,其中高字节表示区,低字节表示位。
​
GB2312用两个字节编码,采用分区编码,总共编码的中文个数为6763(3755 + 3008)。这些汉字只是最常用的汉字,已经覆盖中国大陆99.75%的使用频率。但是,还有一些汉字在GB2312中没有被编码,如''字,在GB2312中就没有被编码,这样就导致了问题,随之就出现了主流的GBK编码。
​
#GBK中国编码
GBK编码扩展了GB2312,完全兼容GB2312编码(如''字的GBK、GB2312编码均为C0EE),但其不兼容BIG5编码(''字的BIG5编码为AAF8,GBK编码为E94C,''字的BIG5编码为A7F5 不等于C0EE),即如果使用GB2312编码,使用GBK解码是完全正常的,但是如果使用BIG5编码,使用GBK解码,会出现乱码。相比于GB2312编码,GBK编码了更多汉字,如''字。GBK编码依然采用双字节编码方案,其编码范围:8140-FEFE,剔除xx7F码位,共23940个码位。能表示 21003 个汉字。点击这里,查看GBK编码。点击这里,可以查询中文的其他编码。在GBK之后又出现了GB18030编码,但是没有形成主流,故不做介绍,至此,中文编码的问题已经讲解完成。那么问题又来了,大陆网民与在海峡两岸网民交流时,若都使用GBK编码,则没有问题,若一方使用GBK编码,一方使用BIG5编码,那么就会出现乱码问题,这是在海峡两岸网民交流,如果漂洋过海进行交流呢?那就更容易出现乱码问题,这时候我们可能想,要是有一套全世界都通用的编码就好了,不要担心,这样的编码确实是存在的,那就是Unicode。
​
#1. BIG5(大五码)
   BIG5采用双字节编码,使用两个字节来表示一个字符。高位字节使用了0x81-0xFE,低位字节使用了0x40-0x7E,及0xA1-0xFE。该编码是繁体中文字符集编码标准,共收录13060个中文字,其中有二字为重复编码,即“兀、兀”(A461及C94A)和“嗀、嗀”(DCD1及DDFC)。具体的分区如下: 
   1. 8140-A0FE 保留给使用者自定义字符(造字区) 
   2. A140-A3BF 标点符号、希腊字母及特殊符号。
      其中在A259-A261,收录了度量衡单位用字:兙兛兞兝兡兣嗧瓩糎。
A3C0-A3FE 保留。此区没有开放作造字区用。
A440-C67E 常用汉字,先按笔划再按部首排序。
C6A1-F9DC 其它汉字。
 F9DD-F9FE 制表符。
   注意:BIG5编码与GBK编码没有什么关系。
   
#2. Unicode
   有两个独立的, 创立单一字符集的尝试. 一个是国际标准化组织(ISO)的 ISO 10646 项目, 另一个是由多语言软件制造商组成的协会组织的 Unicode 项目. 在1991年前后, 两个项目的参与者都认识到, 世界不需要两个不同的单一字符集. 它们合并双方的工作成果, 并为创立一个单一编码表而协同工作. 两个项目仍都存在并独立地公布各自的标准, 但 Unicode 协会和 ISO/IEC JTC1/SC2 都同意保持 Unicode 和 ISO 10646 标准的码表兼容, 并紧密地共同调整任何未来的扩展。
   Unicode是指一张表,里面包含了可能出现的所有字符,每个字符对应一个数字,这个数字称为码点(Code Point),如字符'H'的码点为72(十进制),字符''的码点为26446(十进制)。Unicode表包含了1114112个码点,即从000000(十六进制) - 10FFFF(十六进制)。地球上所有字符都可以在Unicode表中找到对应的唯一码点。点击这里,查询字符对应的码点。Unicode将码空间划分为17个平面,从00 - 10(十六进制,最高两位),即从0 - 16(十进制),每个平面有65536个码点(2^16),其中最重要的是第一个Unicode平面(码位从0000 - FFFF),包含了最常用的字符,该平面被称为基本多语言平面(Basic Multilingual Plane),缩写为BMP,其他平面称为辅助平面(Supplementary Planes),在基本多文种平面內, 从D800到DFFF之间的码位区段是永久保留不映射到字符的, 因此UTF-16编码巧妙的利用了这保留下来的码位来对辅助平面内的字符进行编码,这点后面进行讲解。Unicode只是一个符号集,只规定的字符所对应的码点,并没有指定如何存储,如何进行存储出现了不同的编码方案,关于Unicode编码方案主要有两条主线:UCS和UTF。UTF主线由Unicode Consortium进行维护管理,UCS主线由ISO/IEC进行维护管理。
   
   
#3.UTF-8/utf8:国际编码(二进制)
   UTF-8是一种变长编码方式,使用1-4个字节进行编码。UTF-8完全兼容ASCII,对于ASCII中的字符,UTF-8采用的编码值跟ASCII完全一致。UTF-8是Unicode一种具体的编码实现。UTF-8是在互联网上使用最广的一种Unicode的编码规则,因为这种编码有利于节约网络流量(因为变长编码,而非统一长度编码)。关于Unicode码点如何转化为UTF-8编码,可以参照如下规则:
     ① 对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。
     ② 对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。
​
​
Python2.x:默认编码为ASCII
Python3.x:默认编码为Unicode,也默认支持中文,符号范围(十六进制) (十进制)
复制代码

 

5.机器码认识

各种数据在计算机中表示的形式称为机器数,其特点是采用二进制计数制,数的符号用0、1表示,小数点则隐含表示而不占位置。机器数对应的实际数值称为真值。
机器数有无符号数和带符号数之分。无符号数表示正数,在机器数中没有符号位

对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。
对于带符号数,机器数的最高位一晴地正负的符号位,其余位则表示数值。若约定小数点的位置在机器数的最低数值位之后,则是纯整数;若约定小数点的位置 在机器数的最高数值位之前,则是纯小数位。

 

码制表示
复制代码
#为了便于运算,带符号的机器右数可采用原码,反码和补码等不同的编码方法,机器数的这些编码方法称为码制。
1. 原码表示法
   数值X的原码记为[X]原,最高位是符号位,0表示正号,1表示负号,其余位表示数值的绝对值。
2. 反码表示法
   数值X的原码记为[X]反,最高位是符号位,0表示正号,1表示负号,正数的反码和原码相同,负数的反码则是其绝对值按位求反。
3. 补码表示法
   数值X的原码记为[X]补,最高位是符号位,0表示正号,1表示负号,正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。
4. 移码表示法
   移码表示法是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。如果机器字长为n,在偏移2的(n-1)次方的情况下,只要将将码的符号位取反便可获得相应的移码表示。
复制代码

 

编程语言分类
由发展阶段划分为     :低级语言、高级语言
由程序运行方式分为   :解释型语言、编译型语言
由编程思想划分为     :面向对象语言、面向过程语言
由变量实现类型划分为 :动态语言、静态语言

 

 

 
posted @   zwx901323  阅读(195)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示