链接:https://pan.baidu.com/s/1WrbMwSLbyeXLyDWzhaFnLA
提取码:wzvn
内涵:pycharm专业版、python3.6以及安装介绍
在前面 我们首先思考一下,
1.为什么要使用计算机?
当然是为了存储数据、处理数据
2.数据存在哪里?
数据存储在内存当中
3.那么内存是如何存储数据的呢?
首先得先要弄清楚怎么存储数字
内存是计算机存储数据的一个介质
抽象内存:一个开关,有两种状态,一种为开,一种为关,我们把开对应为1,把关对应为0。把8个开关丢入到一个房间里,那么就可以称这个房间为一个字节。一个开关代表的是一位数,每个房间都有门牌号,可以看作成地址。把无数个房间罗列起来组成一个摩天大厦,把摩天大厦看做成内存。
单位:
1bit
8bit == 1字节
1024字节 == 1K
1024K == 1M
1024M == 1G
1024G == 1T
逢二进一
0 1
1 + 1 = 10
逢八进一
0 1 2 3 4 5 6 7
1 + 7 = 10
逢十进一
0 1 2 3 4 5 6 7 8 9
1 + 9 = 10
逢十六进一
0 1 2 3 4 5 6 7 8 9 a b c d e f
1 + f = 10
公式:倒除法,余数逆序
例如55
55除以2得27 余数1
27除以2得13 余数1
13除以2得6 余数1
6除以2得3 余数0
3除以2得1 余数1
那么逆序可得110111
公式:当前的数字(0、1)乘以2的位数次方,然后相加
例如110111
1 x 2^5 + 1 x 2^4 + 0 x 2^3 + 1 x 2^2 + 1 x 2^2 + 1 x 2^1 + 1 x 2^0
= 32 + 16 + 0 + 4 + 2 + 1
= 55
公式: [一转三位] 八进制的一位相当于二进制的三位,计算时按十进制转换,不足三位高位补0
例如65
6 _ _ _ 计算:6除以2得3,余数0,3除以2得1,余数1. 那么6可以化为 1 1 0
5 _ _ _ 计算:5除以2得2,余数1,2除以2得1,余数0. 那么5可以化为 1 0 1
总结可得65为110101
公式: [三位一取] 从低位开始,每三位得到一个八进制数字,最后高位不足则补0
例如110101
0110 _ 计算:0x2^3+1x2^2+1x2^1+0x2^0 得出0+4+2+0=6
0101 _ 计算:0x2^3+1x2^2+0x2^1+1x2^0 得出0+4+0+1=5
综上述可得110101为65
公式: [一转四位] 十六进制的一位相当于二进制的四位,计算时按十进制转换,不足四位高位补0
例如75
7 _ _ _ _ 计算:7除以2得3,余数1,3除以2得1,余数1. 那么7可以化为 0 1 1 1
5 _ _ _ _ 计算:5除以2得2,余数1,2除以2得1,余数0. 那么5可以化为 0 1 0 1
总结可得75为01110101
公式: [四位一取] 从低位开始,每四位得到一个十六进制数字,最后高位不足则补0
例如01110101
0111 _ 计算:0x2^3+1x2^2+1x2^1+1x2^0 得出0+4+2+1=7
0101 _ 计算:0x2^3+1x2^2+0x2^1+1x2^0 得出0+4+0+1=5
综上述可得01110101为75
其实我们可使用一个简便得方法
叫做8 4 2 1
例如 01100101 0 1 1 0 0 1 0 1 --------------- 8 4 2 1 8 4 2 1 可得出4+2=6 4+1=5 得出65 例如 01110101 0 1 1 1 0 1 0 1 --------------- 8 4 2 1 8 4 2 1 可得出4+2+1=7 4+1=5 得出75
十进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | a |
11 | 1011 | 13 | b |
12 | 1100 | 14 | c |
13 | 1101 | 15 | d |
14 | 1110 | 16 | e |
15 | 1111 | 17 | f |
内存中存储的是数据的二进制形式
存储数据:
1、计算机先开辟空间,在存储数据,计算机开辟空间的最小单位是字节
2、在数据存储时,用最高位标识符号位,0表示正数,1表示复数
原码:规定了字节数,写明了符号位,得到了数据的原码
思考:内存是以数据原码的形式存储的吗?
0000 0000 0000 0000 0000 0000 0000 0001
+ 1000 0000 0000 0000 0000 0000 0000 0001
---------------------------------------------------
1000 0000 0000 0000 0000 0000 0000 0010 -2
结论:不以原码的形式存储数据
反码:正数的反码就是其原码,负数的反码事其原码的符号位不变其他位取反
思考:内存是以数据反码的形式存储的吗?
0000 0000 0000 0000 0000 0000 0000 0001
+ 1111 1111 1111 1111 1111 1111 1111 1110
---------------------------------------------------
1111 1111 1111 1111 1111 1111 1111 1111
结论:不以反码的形式存储数据
补码:正数的补码是其原码(正数三码合一),负数的补码是反码加1
0000 0000 0000 0000 0000 0000 0000 0001
+ 1111 1111 1111 1111 1111 1111 1111 1111
---------------------------------------------------
1 0000 0000 0000 0000 0000 0000 0000 0000
# 加法最后得到的1溢出了,没有存储到内存中
结论:以补码的形式存储数据