Python学习笔记
-
计算机数据存储:
计算机的五大部件:控制器、运算器、存储器、输入设备、输出设备
其中存储器就是用来存储数据,存储器中以二进制形式存储数据
抽象:一个开关,有两种状态,开启和关闭。一种状态对应1,另一种状态对应0。把八个开关放到一间房间里,这个房间称为"一个字节",一个开关代表"一位"。每个房间都有门牌号,看做"地址"。把无数个房间堆叠起来组成摩天大厦,可以吧摩天大厦看成"内存"
-
进制及其转换:
二进制: 0 1 逢二进一
八进制: 0 1 2 3 4 5 6 7 逢八进一
十进制: 0 1 2 3 4 5 6 7 8 9 逢十进一
十六进制: 0 1 2 3 4 5 6 7 8 9 a b c d e f 逢十六进一
进制转换:
十进制==》二进制
倒除法,余数逆序
二进制==》十进制
当前的数字,乘以2的位数次方,最后相加
0x2^0 + 1x2^1 + 0x2^2 + 1x2^3 = 0 + 2 + 0 + 8 = 10
1010(2)->10(10)
八进制==》二进制
【一转三位】八进制的一位相当于二进制的三位,转换时按照十进制转换65(8)->110,101(2)
二进制==》八进制
【三位一取】从低位开始取,高位不够补0
110101(2)->65(8)
十六进制==》二进制
【一转四位】十六进制的一位相当于二进制的四位,转换时按照十进制转换
a4(16)->10100100(2)
二进制==》十六进制
【四位一取】从低位开始取,高位不够补010100100(2)->a4(16)
-
原码、反码、补码
原码表示法:在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小
用8位二进制表示一个数,+1的原码为00000001,-1的原码就是10000001
00000001
10000001
r-------------
10000010 -2
反码:正数的反码是其原码,负数的反码是其原码的符号位不动,其他位取反
+1的反码为00000001,-1的反码就是11111110
00000001
11111110
r-------------
11111111 -
补码:正数的补码是其原码,负数的补码是其反码加1
+1的补码为00000001,-1的补码就是11111111
00000001
11111111
r-------------
100000000 溢出 0
计算机以补码的形式存储数据