您的位置:首页 > 编程语言 > Python开发

python基础入门 01

2017-11-02 22:49 309 查看


python基础入门 01

计算机核心功能:存储数据,处理数据。(程序的执行是其具象化的结果)
计算机的组成部件:
中央处理器(cpu),包括控制器和运算器。
内存(运行内存),负责运行程序:计算机中所有的程序都是运行在内存中的。
内存作用是暂时存放数据。
硬盘,(比如在记事本中写字,点保存就存储到硬盘中),持久化存储。
输入设备
输出设备
内存中有很多个开关组成的,每8个开关为1组。每一个开关可以表示2种状态,每8个开关为1组可以表示256种状态。
每一个开关称为一个bit(位),音译“比特”,每一组称为一个Byte(字节),每个字节在内存中都有一个地址。
地址相当于ID,通过地址可以(找到开关)知道数据存储在计算机的哪一部分。
在计算机内部,可以表示的最小信息单位是bit。
可以用来存储数据(用来操作)的最小单位是Byte(字节)。
8bit(位) = 1Byte(字节)
1024Byte = 1KB(1024是2的10次方)
1024KB = 1MB (兆)
1024MB = 1GB
1024GB = 1TB
 
假设:
开关状态              表示的信息          序号
0000 0000                  空             第0组开关
0000 0001                  a               第1组开关
0000 0010                  b               第2组开关     
0000 0011                  c               第3组开关 
0000 0100                  d               第4组开关 
.........
真实情况如下:
字母a使用第97种状态表示的。
字母A使用第65种状态表示的。
不同的字母或数字都有对应的一组开关(一个字节Byte)来表示。这种编码就是ASCII 码。
最开始的ASCII 码只用了128种状态。
由于编码的升级(各个国家语言不通),现在基本上都是使用Unicode编码(万国码)。Unicode编码兼容ASCII 码。
进制转换
十进制:一共有十个数字通过组合用来表示具体的数,逢十进一。
二进制:一共有二个数字通过组合用来表示具体的数,逢二进一。
0  1  10  11  100  101  110  111  1000....(二进制数)
0   1   2   3     4      5     6     7       8 (二进制数对应的十进制数)
 
十进制转二进制:
例: 97        /         2
        48       1
        24       0
        12       0
         6       0
         3       0
         1       1    
         0       1                 逆序写出余数,97的二进制数即  110 0001 
        56      / 2
        28        0
        14        0
         7        0
         3        1
         1        1
         0        1            56的二进制数为11 1000        
二进制转十进制:按权位展开求和。
十进制数 123 可以看成 1*10^2 + 2*10^1 + 3*10^0
二进制数 11 = 十进制数 3 =1*2^1 + 1*2^0      
二进制数 111 = 十进制数 7 = 1*2^2 +1*2^1 + 1*2^0(二进制转十进制)
例如
110011 = 1*2^5 + 1*2^4 + 1*2^1 + 1*2^0 = 51
八进制:只有八个数,逢八进一
八进制转十进制:(原理同二进制)
2435 = 2*8^3 + 4*8^2 + 3*8^1 + 5*8^0 =1309
十进制转八进制:(原理同二进制)
1309   / 8
163      5
20       3
2        4
0        2            逆序写出余数,即十进制数1309即八进制数2435
八进制数和二进制数之间有一种对等的关系,每一位八进制数,正好对应3位二进制数。
 1    2    7(八进制)
001  010  111(二进制)
即八进制数127 转二进制数为1010111
 
1 100 011 010 101(二进制数)
1  4   3   2   5  (八进制数)
十六进制数:有16个数,逢16进1,9后面用ABCDEF来表示单个数字
1  2  3   4 5 6 7 8 9 10  11   12  13 14 15 16  17   18   19   20   21...(十进制)
1  2  3   4 5 6 7 8 9  A   B    C    D   E   F  ....(十六进制)
 
十进制转十六进制:
 183  /16
  11   7
  0    11      十进制数183转成16进制数即 B7
十六进制转十进制:
 B7 = 11*16^1 + 7*16^0 = 183
十六进制和二进制数存在对等关系:1 位十六进制数对应 4 位二进制数
例如:
1bf3(十六进制数)
0001 1011 1111 0011(二进制数)
 
二进制数转十六进制数:
1001 1101 0001
 9    D    1
 
0010 0111 0100 0100
 2     7    4    4
 
八进制和十六进制转换可以借助二进制
 
假设一个数字占用一个字节Byte
原码:(最高位代表符号位)
0000 0000 最高位看做是符号位,考虑符号时候,最高位0为+,1为-。
0000 0001(+)正数范围 0 -- 127 
1000 0000(-)代表-128 负数范围 -1  --  -128
那么一个字节可以表示的数字范围为  -128 --- +127
直接使用原码进行带符号的运算会出现问题
反码:(过渡作用)正数的反码和原码一样。
            负数的反码,除符号位以外,按位取反,即0变1,1变0
0000 0001(1) 
1111 1110(-1)
和 不为0
直接使用反码进行带符号的运算也会出现问题
补码(计算机最终使用的):
用反码来看补码
正数的补码和反码一样(即和原码也一样,三码合一)。
负数的补码是其 反码 + 1
0000 0001(1)
1111 1111(-1)
最高位溢出
和 0
{结论} 计算机内部是以二进制的补码形式存储数据的。
--END--
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: