day3

2018-10-19  本文已影响0人  13147abc

进制

1.十进制

2.二进制

3.八进制

4.十六进制

5.进制之间的转换

d.二进制转16进制: 每4位二进制转换成1位
十六转二: 一位的16进制转换成4位的二进制

6.python对进制的支持

c.八进制:需要加前缀 -> 0o/0O
0o67
0o34

d.十六进制:需要加前缀 -> 0x/0X
0x78af
number = 0Xfa5

print(number)
print(type(0xfa))

e.进制的转换(结果是字符串)
bin(整数) --> 将括号中的整数,转换成二进制形式
print(bin(10), bin(0o56), bin(0xaf))
print(type(bin(10)))

oct(整数) --> 将括号中的整数,转换成八进制形式
print(oct(10), oct(0b110110), oct(0xaf))

hex(整数) --> 将括号中的整数,转换成十六进制形式
print(hex(10), hex(0b110110), hex(0o56))

原码反码和补码

位运算

3 & 2 --> 00000011 & 00000010 == 00000010
-3 & 2 --> 11111101 & 00000010  == 00000000
print(3&2) 
print(-3&2)

作用:让指定位上数置零,或者保留某一位上的值

 3 | 2 --> 00000011 | 00000010 = 00000011
 -3 | 2 --> 11111101 | 00000010 = (补)11111111 = (原)10000001 
print(3|2)
print(-3|2)
3^2 --> 00000011 ^ 00000010 = 00000001
-3^2 --> 11111101 ^ 00000010 = (补)11111111 = 10000001
print(3^2)
print(-3^2)
 ~3 ---> ~00000011 = 11111100(补) =  10000100
 ~-3 ---> ~11111101 = 00000010
print(~3)
print(~-3)
print(10 << 3)    # 20     10*2^1   10*2^2  10*2^3
print(-10 << 2)   # -20
print(2 << 2)
print(-23 << 2)
 num * 2 == num << 1    num * 4 == num << 2
print(10 >> 1)
print(-10 >> 1)
print(-10 >> 2)

num = 139425088889302854928304850238540982304583098450932840583209584092354932845972389475893457235
print(num)

练习:

print(-15 >> 1)
print(-15 << 1)
17 << 2

认识字符

1.什么是字符串

2.Unicode编码

str1 = 'how'
print(2**15)
str2 = '余婷'
print(str2)

chr(数字): 获取数字在Unicode编码表中对应的字符,返回的是只有一个字符的字符串

print(chr(97))
print(chr(0x1813))
print(chr(0x1b02))
~
 ord(字符): 获取字符对应的Unicode码

print(ord('余'), ord('婷'))
print(ord('👌'))
print(0xffff)

-  可以直接在字符串中写字符对应的编码值,格式:\u四位的十六进制

str1 = 'ah\u4e00\u4e01jhuu'
print(str1)


- 3.转义字符(适用于所有语言)
 一些特能和具有特殊意义的字符,直接放在字符串的引号中无效,需要通过\来转义
 \n ---> 换行
 \' ----> '
 \t ----> 制表符
 \\ ----> \
 \" ----> "

str1 = 'huy\nushs'
print(str1)
str1 = '\thello'wo"rld\a'
print(str1)

上一篇 下一篇

猜你喜欢

热点阅读