• 计算机基础


    1.计算机硬件基本认知

    cpu:   中央处理器.   相当于人的大脑.运算中心,控制中心.
    内存:  临时存储数据.  优点:读取速度快。 缺点:容量小,造价高,断电即消失.
    硬盘:  长期存储数据.  优点:容量大,造价相对低,断电不消失。 缺点:读取速度慢.
    操作系统:统一管理计算机软硬件资源的程序
    

    2.操作系统

    Windows: xp/7/8/10

    Linux: Ubuntu/CentOS/RedHat

    Unix: MacOS

    3.进制

    二进制:逢2进1.0,1,10,11...

    八进制:逢8进1.0,1...6,7,10,...

    十进制:逢10进1.0,1...,9,10,11...

    十六进制:逢16进1.0,1,2...9,a,b,c,d,e,f,10...

    1.2 计算机文件大小单位

    b = bit  位(比特)
    B = Byte 字节
    
    1Byte = 8 bit   #一个字节等于8位  可以简写成 1B = 8b
    1KB = 1024B
    1MB = 1024KB
    1GB = 1024MB
    1TB = 1024GB
    1PB = 1024TB
    1EB = 1024PB
    

    1.3 进制转换

    二进制:由2个数字组成,有0 和 1  			   例:  0b101 
    八进制:由8个数字组成,有0,1,2,3,4,5,6,7        例:  0o127 
    十进制:有10个数字组成,有0,1,2,3,4,5,6,7,8,9   例:  250
    十六进制:有16个数字组成,有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f(字母大小写都可以,分别代表10,11,12,13,14,15) 例:0xff  0Xff  0XFF	        
    
    1.3.1 二进制 转化成 十进制
    #例:	0b10100101  
    运算:1* 2^0 + 0* 2^1 + 1* 2^2 + 0* 2^3 + 0* 2^4 + 1* 2^5 + 0* 2^6 + 1* 2^7= 
    1 + 0 + 4 + 0 + 0 + 32 + 0 + 128 = 165
    
    1.3.2 八进制 转化成 十进制
    #例:	0o127
    运算:7*8^0 + 2*8^1 + 1*8^2 = 7+16+64 = 87
    
    1.3.3 十六进制 转化成 十进制
    #例:	0xff
    运算:15*16^0 + 15*16^1 = 255
    
    1.3.4*小练习: 转化成对应进制
    723 => 2 
    654 => 2
    723 => 8  
    654 => 8
    723 => 16 
    654 => 16
    
    1.3.5 十进制 转化成 二进制
    426 => 0b110101010  
    运算过程:   用426除以2,得出的结果再去不停地除以2,
    			直到除完最后的结果小于2停止,
    			在把每个阶段求得的余数从下到上依次拼接完毕即可
    
    1.3.6 十进制 转化成 八进制
    426 => 0o652
    运算过程:   用426除以8,得出的结果再去不停地除以8,
    			直到除完最后的结果小于8停止,
    			在把每个阶段求得的余数从下到上依次拼接完毕即可
    
    1.3.7 十进制 转化成 十六进制
    运算过程:   用426除以16,得出的结果再去不停地除以16,
    			直到除完最后的结果小于16停止,
    			在把每个阶段求得的余数从下到上依次拼接完毕即可
    
    1.3.8 *小练习: 转化成对应进制
    723 => 2 #10 1101 0110
    654 => 2 #100 0000‬
    723 => 8 #1 330
    654 => 8 #1 216‬
    723 => 16 #2D3‬
    654 => 16 #28E
    
    1.3.9 二进制与八进制转换
    二进制与八进制对应关系:
    八进制  二进制
    0		000
    1		001
    2		010
    3		011
    4		100
    5		101
    6		110
    7		111
    
    例:1010100101
    八进制:从右向左 3位一隔开 不够三位用0补位 变成:
    001 010 100 101
    0o   1    2   4   5
    
    1.3.10 二进制与十六进制转换
    十六进制  二进制
    0		  0000
    1		  0001
    2		  0010
    3		  0011
    4		  0100
    5		  0101
    6		  0110
    7		  0111
    8		  1000
    9		  1001
    a		  1010
    b		  1011
    c		  1100
    d		  1101
    e		  1110
    f		  1111
    
    例:1010100101
    十六进制:从右向左 4位一隔开 不够四位用0补位 变成:
    0010 1010 0101 
    0x2a5
    
    1.3.11 python 八进制 与 十六进制的转换
    先转换成二进制 再去对应转换 
    比如:0x2a5 转换成 1010100101 再转8进制 0o1245
    
    1.3.12 *小练习: 转化成对应进制
    0x1DD => 8 #735
    0x29a => 8 #1 232
    0o573 => 16 #17B‬
    0o336 => 16 #DE
    

    1.4原码,反码,补码

    # 1.原码 或 补码 都是用来表达二进制数据  
        原码: 用来转换对应进制 
        反码: 二进制码0变1,1变0叫做反码,反码用于原码补码之间的转换.(首位符号位不变)
        补码: 用来做数据的存储和运算. 补码的提出用于表达一个数的正负(实现减法)    
    
        计算机的所有数据在底层都是以二进制的[补码]形式存储
        实际上人们看到的数字是[原码]转化来的
        [原码] 和 [补码] 可以通过计算互相转化
    
    # 2.整体顺序:
    补码 -> 原码 -> 最后人们看到的数
    ***进制转换的时候需要先把内存存储的补码拿出来变成原码在进行转换输出***
    
    # 3.运算规律:
    原码:正数高位补0  负数高位补1  (前面空白位全是1)
        数字1   00000000 1  正数高位第一位补0
        数字-1  10000000 1  负数高位第一位补1
    
    计算机默认只会做加法,实现减法用负号: 5+(-3) => 5-3
    乘法除法:是通过左移和右移 << >> 来实现
    
    # 4.原码 与 反码之间的转换
    (原码 反码 补码之间的转换 , 符号位不要动)
    正数: 原码 = 反码 = 补码
    负数: 原码 = 补码取反加1   给补码求原码
    负数: 补码 = 原码取反加1   给原码求补码
    

    *小练习:原码 与 反码的转换

    #给原码求补码
        -6 的补码是多少? 
        6  的补码是多少?
        10 的补码是多少?
       -10 的补码是多少?
         9 的补码是多少?
        -9 的补码是多少?
    #给补码求原码
    	1 ... 111  00011 (高位都是1) 
    	1 ... 111  0110010 (高位都是1) 
    # 9+(-5) 用二进制相加运算一下
    #9
    源码:0000 1001
    反码:0000 1001
    补码:0000 1001
    #-5 
    源码:1000 0101
    反码:1111 1010
    补码:1111 1011
    #9+(-5)
    0000 1001
    1111 1011
    0000 0100
    

    4.编码

    • 最早的计算机编码是ASCII.有英文+数字+特殊字符 8bit => 1byte(字节) 没有中文.
      1. 不支持中文
    • (北方方正)把中国的文字进行编码,对ASCII码进行扩充.16bit(GBK:国标的扩展码) =>2byte.主要包含了中文,日文,韩文.英文.(兼容ASCII码)后面的编码必须兼容ASCII码.
      1. 英文 1个字节
      2. 中文 2个字节
    • unicode(万国码)兼容各个国家的编码.浪费空间 32bIt ==> 4byte
      1. 英文 2个字节
      2. 中文 4个字节
    • UTF-8可变长度的unicode.本质是Unicode.英文在utf-8占用1bit(字节).欧洲文字占用2个字符16bit.中文占用3个字符24bit
      1. 英文 1个字节
      2. 欧洲 2个字节
      3. 亚洲 3个字节

    总结:

      python3内存使用的就是unicode
      python2内存使用的就是ascii
      
      encode() 编码
      decode() 解码
      用什么编码集编码,就用什么编码集解码
    
  • 相关阅读:
    Python学习:20.Python网络编程(Socket)
    Python学习:19.Python设计模式-单例模式
    Python学习:18.Python异常处理
    Python学习:17.Python面向对象(四、属性(特性),成员修饰符,类的特殊成员)
    Python学习:16.Python面对对象(三、反射,构造方法,静态字段,静态方法)
    Python学习:15.Python面向对象(二、继承的各种情况)
    Python学习:14.Python面向对象(一)
    Python学习:13.Python正则表达式
    WEB前端解决浏览器兼容性问题
    如何将任意文件固定在 Win10 的开始屏幕中
  • 原文地址:https://www.cnblogs.com/CrownYP/p/10973708.html
Copyright © 2020-2023  润新知