一、进制运算
1.计算机在存储数字的时候都是以二进制的形式去存的
2.进制分为:十进制,八进制,十六进制,二进制
(1)十进制:逢十进一
(2)二进制:逢2进一,所有的二进制的基础数据为0和1。
二进制换算十进制:
(3)八进制:逢八进一
基数为0,1,2,3,4,5,6,7,8,9
(4)十六进制:
基数为09,af
3.进制的相互转换
(1)其他进制转换为十进制,每一位乘以进制的幂次数,然后相加求和。十进制转换为其他进制,用辗转取余法
(2)二进制转换为8进制
每三位转换成一位
eg:110 011 = 0o63
(3)二进制转换为十六进制,每4位转换成一位
eg:110011 = 0011 0011 = 0x33
(4)二进制前缀 0b 八进制前缀 0o 十六进制的前缀 0x
(5)二进制函数 bin 八进制函数 oct 十六进制函数 hex
二、原码,反码和补码
计算机中存放数剧时候,存的就是数据的补码。首位是数据的符号,0为正数,1为复数
(1)原码:整数的二进制形式
(2)反码:正数的反码就是原码;复数的反码首位不变,1的反码为0,0的反码为1
(3)补码:正数的补码就是它的原码;负数的补码是它的反码加1
eg:-10 -> (反码)11111111 11110101 -> (补码)1111111 11110110
总结:正的反码和补码都是原码;负数的补码是反码加1,反码是原码符号位不变,其他位取反
三、位运算
计算机存数字存补码,计算的时候也是补码,最后结果看的时候是看的原码
1.按位与 “&”
num1 & num2 ---> 两个数字都为1时结果才为1,否则为0
image.png
2.按位或 “|”
num1 | num2 只要有一个为1,结果就是1;两个都为0,结果才是0
3.^(异或)
num1 ^ num2 不同为1,相同为0
4.~(取反)
~ num 将每一位取反
image.png
5.左移
num1 << num2
将补码向左移动指定的位数,符号位不变,在最后面补指定个数的0
即将num1 的补码向左移动 num2 位
规律:(正数和负数都实用):m << n == m * (2^n)
eg:10 << 2 == 10 * 2^2
6.右移
数字 >> 位数: 将补码向右移动指定的位数,符号位不变,在符号位的后面补指定个数的0(正)或者1(负)
规律(只适用于正数):m >> n == m // (2^n)
四、字符串(str)
1.什么是字符串
在python中通过单引号或者双引号引起来的字符集就是字符串,字符串中引号中的字符集就是有各种不同的字符组成的。
2.Unicode编码
(1)python中字符串中字符采用的是Unicode编码
(2)Unicode编码:是通过两个字节来对一个字符进行编码(0~ 2^16-1)。它几乎包含了世界上所有的符号
(4)ord(字符): 获取字符对应的Unicode码
image.png
3.转义字符(适用于所有语言)
一些特殊功能和具有特殊意义的字符,直接放在字符串的引号中无效通过 "" 来转义
eg:
\n -----> 换行
\ -----> 使用
' ----> 使用'
\t -----> 制表符
网友评论