数据的存储与进制转换

    python的发展史
        http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html
    python的优缺点
        http://blog.csdn.net/summerhust/article/details/6440953
    python的应用场景
        http://www.cnblogs.com/wgDream/p/6666763.html
数据的存储及原理

数据存储在内存,硬盘中

内存
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。 内存是由内存芯片、电路板、金手指等部分组成的。
抽象原理
一个开关,有两种状态,开启和关闭, 一种对应1,一种对应0,   把8个开关放到一间房子里,可以称这间房子为"一个字节", 一个开关代表"一位", 每个房间都有门牌号,看作"地址" ,把无数个房间叠加起来组成摩天大楼,可以把摩天大楼看成内存
存储单位

1.G = 1024M
2.M = 1024 k
3. 1k = 1024 byte
4. 1byte = 8bit

    内存中以二进制存储数据
        二进制
            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   逢十六进一
    进制转换
        进制的转换: 

十进制转换成二进制:
10 — 1010
12 — 1100

倒叙法: 将十进制的数除2取余数, 而且一直除到值为0为止,然后将 余数倒着排列

二进制转换成十进制:
计算机计数一般是从 0 开始
1010 — 10
1100
从右往左数,将 每位的数值 * 2第几次幂(从0开始计数) 然后累加运算就可以得到十进制数

二进制转换成八进制:
010 010 — 22
(划分从右到左)
将3个二进制数看成一个八进制数

八进制转换成二进制:
22 — 010 010
将一个八进制数拆分成3个二进制数
010 010

二进制转换成十六进制:
十六进制转换成二进制:
二进制数据的存储: 当一个数据需要存储到硬盘/内存中时,需要先给该数据开辟一个内存空间,并给该内存空间分配一个编号(内存地址,一般用十六进制的数表示)(方便找到数据),在程序开发时,一般整数用4个字节表示,

00000000 00000000 00000000 00000001

1 + 1 = 2
00000000 00000000 00000000 00000001
+ 00000000 00000000 00000000 00000001


00000000 00000000 00000000 00000010

1 -2 = -1
计算机只会做加法运算
1 + (-2) = -1

二进制的数用二进制数的第一位(最左端)的数来表示符号位, 1表示该数是负数, 0 表示整数, 默认是0即默认是正数
-2 —> 10000000 00000000 00000000 00000010

加法运算:
1 + (-2) = -1
00000000 00000000 00000000 00000001
+ 10000000 00000000 00000000 00000010


10000000 00000000 00000000 00000011 –> -3 不对

原码,补码,反码
原码: 一个二进制数既包含了符号位(正负数),又包含了数值的数为原码
反码: 一个正数的反码是其原码本身,负数的反码是其符号位不变,其他位取反
用反码进行加法运算:
1 + (-2) = -1
00000000 00000000 00000000 00000001
+ 11111111 11111111 11111111 11111101


11111111 11111111 11111111 11111110
—>计算后再取反 10000000 00000000 00000000 00000001 —> -1

1+(-1) = 0
00000000 00000000 00000000 00000001
11111111 11111111 11111111 11111110


11111111 11111111 11111111 11111111

–>结果取反10000000 00000000 00000000 00000000 —> -0 不对

正数的原码,反码,补码 三码合一
补码: 正数的补码是其本身,负数的补码是其符号位不变,其余位取反,在加1, 即反码加1

1+(-1) = 0
00000000 00000000 00000000 00000001
11111111 11111111 11111111 11111111


1 00000000 00000000 00000000 00000000 溢出的舍弃, 0
取结果的补码–>0

1 + (-2) = -1
00000000 00000000 00000000 00000001
11111111 11111111 11111111 11111110


11111111 11111111 11111111 11111111

数据存储
计算机存储数据,先开辟空间,再存储数据,计算机开辟的最小单位是字节
在存储数据时,用最高位表示符号为,用0 表示正数, 1表示负数,其他的表示数据

猜你喜欢

转载自blog.csdn.net/weixin_42367527/article/details/82630190
今日推荐