单位换算
最小的单位为bit,表示一个二进制的0或1,一般使用小写的b表示
存储的最小单位为字节(Byte),1B = 8b
1024B = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
2^32 = 2^10 * 2^10 * 2^10 * 2^2 = 4GB
进制转换
十进制
基数为0~9,逢10进1
实例:123 = 1 * 10^2 + 2 * 10^1 + 3 * 10^0 = 100 + 20 + 3 = 123
二进制
基数0和1,逢2进1,python中以'0b'开头
示例:0b110100 = 2^5 + 2^4 + 2^2 = 32 + 16 + 4 = 52
十进制转二进制:除2取余,倒序书写
22 = 0b10110
八进制
基数0~7,逢8进1,python中以'0o'开头
示例:0o123 = 1 * 8^2 + 2 * 8^1 + 3 * 8^0 = 64 + 16 + 3 = 83
八进制转二进制:八进制1位表示3位二进制
0o123 = 0b 001 010 011
十六进制
基数0~9、A~F,逢16进1,python中以'0x'开头
示例:0xAB = 10 * 16^1 + 11 * 16^0 = 160 + 11 = 171
十六进制转二进制:十六进制1位表示4位二进制
0xABC = 0b 1010 1011 1100
计算机中的数据是以哪种进制存储的?为什么?
二进制,因为计算机只识别二进制,具体原因如下:
稳定性高(只有0和1),成本低(技术上容易实现),与生活中的真假逻辑相吻合
计算机中的数据是如何存储的?
如何存储负数?
最高位作为符号位,0表示正数,1表示负数
虽然牺牲了最不常用的最高位,但是解决了负数问题,并且简化了硬件设计(节约成本)
原码、反码、补码?
正数的三码一致,只有负数才有反码和补码
反码等于原码的符号位不变,其余位取翻
补码等于对于的反码加1
计算机中的数据都是以补码的形式存在
数据类型
数据类型是为了处理不同的运算而存在,
python中的数据类型有:整型、浮点、字符串、列表、元组、字典、集合、空