python进制转换源码_python_01_计算机基本认识_进制转换_原码反码_Python认知

计算机硬件基本认知

CPU: 中央处理器。相当于人的大脑、运算中心、控制中心

内存:临时存储数据。优点:读取速度快;缺点:容量小造价高,断电即消失。

硬盘:长期存储数据。优点:容量大,造价相对低,断电不消失;缺点:读取速度慢。

操作系统:统一管理计算机软硬件资源

计算机文件大小单位

b = bit 位(比特)

B = Byte 字节

1Byte = 8 bit #一个字节等于8位 可以简写成 1B = 8b

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

1PB = 1024TB

1EB = 1024PB

进制转换

二进制:由2个数字组成,有0 和 1 例: 0b101

八进制:由8个数字组成,有0,1,2,3,4,5,6,7 例: 0o127

十进制:有10个数字组成,有0,1,2,3,4,5,6,7,8,9 例: 250

十六进制:有16个数字组成,有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f(字母大小写都可以,分别代表10,11,12,13,14,15) 例:0xff 0Xff 0XFF

二进制 转化成 十进制

例: 0b10100101

运算:1 * 20 + 0 * 21+ 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 0 * 26+ 1 * 27= 1 + 0 + 4 + 0 + 0 + 32 + 0 + 128 = 165

八进制 转化成 十进制

例: 0o127

运算: 7 * 80 + 2 * 81 + 1 * 82 = 7+16+64 = 87

十六进制 转化成 十进制

例: 0xff

运算:15 * 160 + 15 * 161= 255

十进制 转化成 二进制

例:426 => 0b110101010

运算过程: 用426除以2,得出的结果再去不停地除以2,

直到除完最后的结果小于2停止,

在把每个阶段求得的余数从下到上依次拼接完毕即可

十进制 转化成 八进制

例:426 => 0o652

运算过程: 用426除以8,得出的结果再去不停地除以8,

直到除完最后的结果小于8停止,

在把每个阶段求得的余数从下到上依次拼接完毕即可

十进制 转化成 十六进制

运算过程: 用426除以16,得出的结果再去不停地除以16,

直到除完最后的结果小于16停止,

在把每个阶段求得的余数从下到上依次拼接完毕即可

二进制与八进制转换

二进制与八进制对应关系:

八进制二进制八进制二进制

0

000

4

100

1

001

5

101

2

010

6

110

3

011

7

111

例:1010100101

八进制:从右向左 3位一隔开 不够三位用0补位 变成:

001 010 100 101

0o   1  2  4  5

二进制与十六进制转换

二进制与十六进制对应关系:

十六进制二进制十六进制二进制

0

0000

8

1000

1

0001

9

1001

2

0010

A

1010

3

0011

B

1011

4

0100

C

1100

5

0101

D

1101

6

0110

E

1110

7

0111

F

1111

例:1010100101

十六进制:从右向左 4位一隔开 不够四位用0补位 变成:

0010 1010 0101

0x  2   A     5

八进制 与 十六进制的转换

先转换成二进制 再去对应转换

比如:0x2a5 转换成 1010100101 再转8进制 0o1245

原码,反码,补码

概念

计算机的所有数据在底层都是以二进制的[补码]形式存储实际人们看到的数字是[原码]转化来的而[原码]是通过[补码]得到的

补码 -> 原码 -> 最后人们看到的数进制转换的时候需要先把内存存储的补码拿出来变成原码在进行转换输出

计算机底层存储的补码:正数高位补0 负数高位补1(前面空白位全是1)数字 1 00000000 1 正数高位都补0数字-1 11111111 1 负数高位都补1

原码: 用来转换对应进制反码: 二进制码0变1,1变0叫做反码,反码用于原码补码之间的转换.(符号位不变)补码: 用来做数据的存储运算. 补码提出的根源是让计算机底层的实现减法操作(可以表达出一个数的正负)言外之意:计算机默认只会做加法,例:5+(-3) => 5 - 3乘法除法:是通过左移和右移 << >> 来实现

运算

(原码 反码 补码之间的转换 , 符号位不要动)正数: 原码 = 反码 = 补码负数: 原码 = 补码取反加1 给补码求原码负数: 补码 = 原码取反加1 给原码求补码

例:5 + (-3) => 5 - 35 => 101-3 => ?(1) 先算-3的原码1 0000…000 011(2) 取反1 1111…111 100(3) 加1 最终值是补码 (用来做算术运算或存储用的)1 1111…111 101  5 => 0 00…00 101-3 =>  1  11 … 11  101  2 => 0 00…00 010

Python的认知

Python是89年开发的语言,创始人吉多·范罗苏姆(Guido van Rossum),别称:龟叔(Guido).Python具有非常多并且强大的第三方库,使得程序开发起来得心应手.Python程序员的信仰:人生苦短,我用python!

python之禅

1 importthis2

3 print(this)4

5 """

6 Beautiful is better than ugly.7 Explicit is better than implicit.8 Simple is better than complex.9 Complex is better than complicated.10 Flat is better than nested.11 Sparse is better than dense.12 Readability counts.13 Special cases aren't special enough to break the rules.14 Although practicality beats purity.15 Errors should never pass silently.16 Unless explicitly silenced.17 In the face of ambiguity, refuse the temptation to guess.18 There should be one-- and preferably only one --obvious way to do it.19 Although that way may not be obvious at first unless you're Dutch.20 Now is better than never.21 Although never is often better than *right* now.22 If the implementation is hard to explain, it's a bad idea.23 If the implementation is easy to explain, it may be a good idea.24 Namespaces are one honking great idea -- let's do more of those!25

26 Process finished with exit code 027

28 """

版本

python2x:原码不规范,重复较多python3x:原码清晰,简单

编译型与解释型语言区别

编译型:一次性,把所有代码编译成机器能识别的二进制,在运行代表语言:c,c++优点: 执行速度块缺点: 开发速度慢,调试周期长

解释型:代码从上到下一行一行解释并运行代表语言:python,php优点: 开发效率快,调试周期短缺点: 执行速度相对慢python语言可以直接在linux和windows跨平台使用.

python的解释器

Cpython(官方推荐)把代码转化成c语言能识别的二进制码

Jpython把代码转化成java语言能识别的二进制码

其他语言解释器把代码转化成其他语言能识别的二进制码

PyPy将所有代码一次性编译成二进制码,加快执行效率(模仿编译型语言的一款python解释器)

注释

就是对代码的解释 方便大家阅读代码

注释的分类单行注释:用#号开头,后面跟上任意字符多行注释:语法可以是成对的三个单引号''' ''' 可以是成对的三个双引号 """ """ 并且支持跨行

注释的注意点当三个单引号和三个双引号同时存在的时候,要注意如果外面是三个单引号,里面用三个双引号如果外面是三个双引号,里面用三个单引号

注释的排错性包裹一部分代码,执行另外一部分,查看是否报错,进行一一排查

变量

可以改变的量,实际具体指的是内存中的一块存储空间

关于变量的含义

1 a = 5

2 print(a)

写完a =5 在内存里面开辟两个空间 分别是5和这个值和变量a这个名

并且让变量a指向5这个值,形成一种映射关系 这个映射关系就是地址

2. 变量的声明

只有以下三种

#1

a= 5

#2

a,b= 2,3

#3

a= b = 12

3. 变量的命名

变量的命名

字母数字下划线,首字符不能为数字

严格区分大小写,且不能使用关键字

变量命名有意义,且不能使用中文哦

import 引入 keyword 模块,用来获取所有关键字

1 importkeyword2 parint(keyword.kwllist)3

4 #['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

4. 变量的交换

1 #python 特有

2

3 a = 1

4 b = 2

5

6 a, b =b, a7 print(a,b)

常量:就是不可以改变的量, python之中没有明确定义, 所以约定俗成变量名大写就是常量,

表示不可改变

概念

计算机的所有数据在底层都是以二进制的[补码]形式存储实际人们看到的数字是[原码]转化来的而[原码]是通过[补码]得到的

补码 -> 原码 -> 最后人们看到的数进制转换的时候需要先把内存存储的补码拿出来变成原码在进行转换输出

计算机底层存储的补码:正数高位补0 负数高位补1(前面空白位全是1)数字 1 00000000 1 正数高位都补0数字-1 11111111 1 负数高位都补1

原码: 用来转换对应进制反码: 二进制码0变1,1变0叫做反码,反码用于原码补码之间的转换.(符号位不变)补码: 用来做数据的存储运算. 补码提出的根源是让计算机底层的实现减法操作(可以表达出一个数的正负)言外之意:计算机默认只会做加法,例:5+(-3) => 5 - 3乘法除法:是通过左移和右移 << >> 来实现

运算

(原码 反码 补码之间的转换 , 符号位不要动)正数: 原码 = 反码 = 补码负数: 原码 = 补码取反加1 给补码求原码负数: 补码 = 原码取反加1 给原码求补码

例:5 + (-3) => 5 - 35 => 101-3 => ?(1) 先算-3的原码1 0000…000 011(2) 取反1 1111…111 100(3) 加1 最终值是补码 (用来做算术运算或存储用的)1 1111…111 101  5 => 0 00…00 101-3 =>  1  11 … 11  101  2 => 0 00…00 010

Python的认知

Python是89年开发的语言,创始人吉多·范罗苏姆(Guido van Rossum),别称:龟叔(Guido).Python具有非常多并且强大的第三方库,使得程序开发起来得心应手.Python程序员的信仰:人生苦短,我用python!

版本

python2x:原码不规范,重复较多python3x:原码清晰,简单

编译型与解释型语言区别

编译型:一次性,把所有代码编译成机器能识别的二进制,在运行代表语言:c,c++优点: 执行速度块缺点: 开发速度慢,调试周期长

解释型:代码从上到下一行一行解释并运行代表语言:python,php优点: 开发效率快,调试周期短缺点: 执行速度相对慢python语言可以直接在linux和windows跨平台使用.

python的解释器

Cpython(官方推荐)把代码转化成c语言能识别的二进制码

Jpython把代码转化成java语言能识别的二进制码

其他语言解释器把代码转化成其他语言能识别的二进制码

PyPy将所有代码一次性编译成二进制码,加快执行效率(模仿编译型语言的一款python解释器)

注释

就是对代码的解释 方便大家阅读代码

注释的分类单行注释:用#号开头,后面跟上任意字符多行注释:语法可以是成对的三个单引号''' ''' 可以是成对的三个双引号 """ """ 并且支持跨行

注释的注意点当三个单引号和三个双引号同时存在的时候,要注意如果外面是三个单引号,里面用三个双引号如果外面是三个双引号,里面用三个单引号

注释的排错性包裹一部分代码,执行另外一部分,查看是否报错,进行一一排查

变量

可以改变的量,实际具体指的是内存中的一块存储空间

关于变量的含义

a = 5

print(a)

1

2

写完a=5 在内存里面开辟两个空间 分别是5这个值和变量a这个名并且让变量a指向5这个值,形成一种映射关系.这个映射关系就是地址.

变量的声明只有以下三种:

a = 5

b = 6

print(a)

print(b)

1

2

3

4

a,b = 5,6

print(a)

print(b)

1

2

3

a = b = 10

print(a,b)

1

2

变量的命名

变量的命名字母数字下划线,首字符不能为数字严格区分大小写,且不能使用关键字变量命名有意义,且不能使用中文哦

import 引入 keyword 模块,用来获取所有关键字

import keyword

print(keyword.kwlist)

1

2

变量的交换

a = 11

b = 12

1

2

python特有:

a, b = b, a

print(a, b)

1

2

通用写法:

a = 11

b = 12

temp = a

print(temp)

a = b

print(a)

b = temp

print(a, b)

1

2

3

4

5

6

7

8

常量就是不可改变的量,python当中没有明确定义常量的关键字,所以约定俗成把变量名大写就是常量,表示不可改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值