python基础之三元运算&进制
一 三元运算
result = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
二 进制
2.1 进制简介
进制就是进位制,是人们规定的一种进位方法。计算机底层的数据运算和存储都是二进制数据。计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别。
2.2 常用进制
对于任何一种进制---x进制,表示逢x进1,比如:十进制是逢10进1,二进制就是逢2进一。我们经常使用的是二进制、八进制、十进制、十六进制。
- 十进制:有10个基本数字,分别为0、1、2、3、4、5、6、7、8、9,运算规则”逢十进一”;
- 八进制:有8个基本数字,分别为0、1、2、3、4、5、6、7,运算规则”逢八进一”
-
十六进制:有16个基本数字,分别为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,运算规则”逢十六进一”
- 二进制:有2个基本数字,分别为0、1,运算规则”逢二进一”
2.3 进制转换
我们有最常用的转换方法:用十进制数据除以目标进制得到余数,并将余数从最后一个到第一个排列,就是转换后的目标进制表示形式(简称“除基取余,直到商为0,余数反转”)。
比如:十进制65转换为二进制为1000001,同理,如果求八进制、十六进制表示形式,用65除以8、16即可。
另外,在py中我们可以通过函数转换,具体如下:
注:以上内置函数不仅仅适用于十进制,他们相互之间都是OK的。
2.4 进制的表示方式
二进制:0b10001000 // 小写的b或大写的B都可以
八进制:py2:010 // 第一是数字0;py3:0o10 //第一个是数字0,第二字母是o,小写的o或大写的O都可以
十进制:123
十六进制:0xAF // 小写的x或大写的X都可以
扫盲:计算机内存地址为什么用16进制?
1. 计算机硬件是0101二进制的,16进制刚好是2的倍数,更容易表达一个命令或者数据。十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数,也就是一个字节(8位进制可以用两个16进制表示)
2. 最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能表达出来,不管阅读还是存储都比其他进制要方便
3. 计算机中CPU运算也是遵照ASCII字符集,以16、32、64的这样的方式在发展,因此数据交换的时候16进制也显得更好
4. 为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算



浙公网安备 33010602011771号