pythone学习入门基础第一天

day01-数据类型及进制转换

按自己习惯简单整理的笔记,由于格式版本是txt形式,部分标点符号或者缩进板块不是那么严谨,介意者请自行忽略,谢谢!

数据存储原理
思考
 1. 软件编程的实质:
   数据的   增  删  改   查
 2. 数据的存放位置:
   内存,硬盘,"服务器"
 3. 数据有哪些形式呢
    1. 数字  12,  1.2  
    2. 字符  “张三”
    3. 图片形式
    4. 视频
    5. 音频


3.2 数据是怎么存储到硬盘上的?
    抽象的原理:计算机的硬盘是一个电路系统,
    硬盘相当于把硬盘分成了很多的格子
    每个格子有两种状态,一种状态用1表示,
    另外一种状态用0表示(单位是bit)


    计算机把 8 个“格子”,当成一个整体,
    相当于把8个格子放在一个房间里,就可以表示2^8种状态
    这个房间就可以看成一个字节(byte是计算机的一个存储单位)
    硬盘相当于一个高楼大厦,有很多个房间,
    每个房间都有一个房间号(内存地址)就可以找到对应数据


 bit-----0,1
 1Byte=8bit   数值范围到2^8


1kb=1024byte
1M =1024 KB 
1G =1024 MB
1T =1024 GB
500GB,1T




厂商:1T=1000GB    1GB=1000MB
计算机:1024




宽带10Mb  ----bit/s    1.25MB  中国
    10Mb/s----byte/s    10MB   国外




00001  00010
二进制形式:特点 -逢二进一
以0,1形式表示数据




8---00001000


1+1=0000 0010
101+1=110


       0000 0101
     + 0000 0001
------------------
             110


八进制(2跟16进制的转换作用,用的少) 特点:逢八进一
以0,1,2,3,4,5,6,7来表示数据


12 + 34 =46
12 + 37 =51


   12
+  37
   -----
   51










    
十进制  特点:逢十进一


以0,1,2,3,4,5,6,7,8,9来表示数据


1+1=2








十六进制  (方便人看机器的)  特点:逢十六进一
以0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f


应用:网卡的地址,颜色,汉字


a---10
b---11
c---12
d---13
e---14
f---15


88+88=110
88+85=10d


 88
+88
------
 110








十进制转换成二进制


倒序法   该数除以2取余,将余数倒序排列  就是二进制


12  1100


1--2--4--8    2^n






二进制转换成十进制 
  
1100---12    1*2^3
该位数的数乘以2的N次方,(n代表当前的位数,n从0开始) 的和
0*2^0 + 0*2^1 + 1*2^2 +1*2^3=12


110011




八进制转换为二进制----八进制的一位就是二进制的三位


456--------100 101 110












十六进制转换为二进制----十六进制的一位数就是二进制的四位数




e8=1110 1000


二进制转换成十六进制-----二进制的四位数就是十六进制的一位数




1111----15


1100 1001=c9














二进制转换为八进制----二进制的三位就是八进制的一位数
001 000 000


010 100 110=  24














计算机的存储过程:当一个数据存储的时候,
会先在存储区域开辟一个内存空间,再存储值
存储的最小单位是一个字节(8位)


在软件开发中,一个整数一般用4个字节来存储一个整数


1----> 00000001 ------0-255                 


1+1=
    00000000 00000000 00000000 00000001  
+   00000000 00000000 00000000 00000001
--------------
    00000000 00000000 00000000 00000010




1+(-2)=  -1


二进制的整数将二进制数的第一位作为 符号位,
1表示该数是负数,默认是0




1+(-2)= -1
       00000000 00000000 00000000 00000001
       10000000 00000000 00000000 00000010 
----------
       10000000 00000000 00000000 00000011-----> -3 




原码--->一个二进制数,包含了符号位和数值位的数,
        就是该数的原码
1--- 00000000 00000000 00000000 00000001
-2---10000000 00000000 00000000 00000010








反码--->正数的反码就是其原码(自身)
        负数的反码是其符号位不变,其他位置取反
1+1=2
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 ----> 溢出的位舍弃
     00000000 00000000 00000000 00000000 ----> 0


1+(-2)


     00000000 00000000 00000000 00000001
     11111111 11111111 11111111 11111110




     11111111 11111111 11111111 11111111
     10000000 00000000 00000000 00000000


----------------------------------------------
     11111111 11111111 11111111 11111111---->再取反
     10000000 00000000 00000000 00000000---->加1
     10000000 00000000 00000000 00000000----
     10000000 00000000 00000000 00000000代表的数-1












                             


猜你喜欢

转载自blog.csdn.net/jiangwei1102/article/details/79055509