2018-09-27 进制与字符串

计算机在存储数据的时候都是以二进制的形式去存的

十进制、十六进制、八进制、二进制、
1.十进制
基数:0、1、2、3、4、5、6、7、8、9、
进位:逢10进1,
每一位的值:
123 = 1100 + 210 + 31 = 110^2 + 210^1 + 310^0

二进制:

所有的 二进制数都是有0.1 组成只有两个基数
基数:0.1
进位:逢2进1 1011
每一位的值:11011 = 12^0 + 12^1 + 02^2 + 12^3 + 1*2^4

八进制

基数:0.1.2.3.4.5.6.7
进位:逢8进1
每一位的值:111 = 1 * 8^0 + 1 * 8^1 + 1* 8^2 = 73

十六进制:

基数:0~9;a-f(A-f)
进位:逢16进1
a(10)b(11)c(12)d(13)e(14)f(15)
每一位的值: 111 = 116^0 + 116^1 + 1*16^2 = 273

进制之间的转换:
其他进制转换成十进制:
乘积求和,每一位上的数 乘 进制次数 然后求和
十进制转其他进制:辗转取余法,除到零为止
123:(2)60 = 111100
123:(8)173
123:(16)7B
二进制转八进制:每3位二进制转换成1位的8进制
八转二:一位8进制转换成3位的二进制
671——> 110 111 001
二进制转16进制:每四二进制转化成1位16进制 (
位数不够用0站位)
(16) 67 ——> (2) 0110 0111
Python支持通过二进制、八进制、
十进制和十六进制的形式来直接表示一个整数
a.十进制:直接表示的数字的值都是十进制的数
b.二进制:需要加前缀 0b

print(0b1010)

八进制:需要前缀 0o/0o

print(0o67)
print(0o34)

十六进制:需要前缀 0x/0X

print(0x78af)
print(0Xfa5)
print(type(0xfa))

进制之间的转换:(结果是字符串)

bin(整数) ——> 将括号中的整数转换成二进制的形式

print(bin(10),bin(0o56),bin(0xaf))

bin是转换成二进制

oct(整数)——> 将括号中的的整数转化成八进制

print(oct(10), oct(0b110110),oct(0xaf))

oct是转换成八进制
hex(整数)——> 将括号内的整数转化成十六进制

print(hex(10),hex(0b110110),hex(0o56))

再次提醒计算机在存数字的时候,

  • 存的是数字的二进制,而且是二进制的补码
  • 计算机内存的最小单位是位:一位只能存储两个状态
  • 8位=1字节
  • 最高位是符号位

原码:

整数数字用二进制形式就是原码

比如十进制的10的原码就是:1010
正整数的元码
负数的符号为1
10原码0000 00001010
-10的原码 100000 00001010

反码:

正数的补码.反码是它的原码
负数的反码就是这个数的原码的
负数的补码就是他的反码-1
-10 ->(反码)11111111 11110101 ——>
补码 1111111 11110101

总结:正的反码和补码都是原码,负责的补码反码+1
反码是元马符号不变,所以其他
计算机存数字存补码,计算的时候也是补码,最后结果的时候看原码。

位运算符:&(按位与),| (按位或),^(异域), ~(去反),>>(右移),<<(左移) &(按位与)

数字1 & 数字2:二进制的每一位,
两个都是为1结果才是1,否则为0
3&2 ——> 00000011 & 0000001o

print(3&2)

-3 & 2 —— 11111101 & 00000010 = 00000000

print(-3&2)

2按位或
数字1 | 数字2 :只要一个为1 ,结果就是1;
两个都为,结果才是0
3 | 2 ——> 00000011 | 00000010 = 00000011
-3 | 2 ——> 11111101 | 00000010 = (补)11111111
(原)0000001

4.(取反)
~数字:将每一位取反
~3 ---~ 0000011 = 1111100 = 10000100
作用;让指定位上的数置零,或者保留某一位的
数字:<< 位数:将补码想做移动指定的位数,
后面用0补齐
规律:正负数都适用:#m << n == m * (2^n)

print(10 << 3)
print(-10 << 4)
print()

num * 2 == num << 1 num << 2

右移:
数字>>位数: 将补码向右移指定位数,符号位不变,
在符号位后面补制定个数的0(正),
负数补(1)
规律:(只适合于正数):

m >> n == m // (2^n)

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

字符串(str)

1.什么是字符串
Python中通过单引号或者上引号引起来的字符集就是字符串

'SSR'
'许愿氤氲之息'
'许愿清泉流响'
'许愿启明星的指引'

字符集是一切能被引入引号中的集合
字符串中引号中的字符集,就是各种不同的字符来组成的

2.Unicode编码

Python中的字符采用的是Unicode的编码
Unicode编码,是通过两个字节来对一个字符进行编码
02^16-1;032768个字符
几乎包含了世界上所有的符号,
ASCII编码:是通过一个字节来对一个字符进行编码
Unicode编码中包含了ASCII码表

'a' --> 97
'b' --> 98

str1 = 'how' 
str2 = '星辰命运肩甲'
print(str2)

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

print(chr(0x20a0))

ord(字符):获取字符对应的Unicode码

print(ord('刘'),ord('雅'),ord('米'))
print(ord('a'))

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

str1 = '\u20b9\u20b5'
print(str1)

3.转移字符(适用于所有语言):
一些特殊功能和具有特殊意义的字符,
直接放在字符串的引号中无效,需要通过\来转义

  • \n --> 换行
  • ' --> '
  • \t --> 制表符
  • \ --> \
tr1 = '时光\"\"轨迹'
str2 = '\t铁马\'长戈'
print(str1)
print(str2)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容