1进制的常见表达形式
10进制(Decimal number)(1010)10 , 1010D,1010
2进制 (Binary number)(1010)2,1010B
8进制 (Octal number)(1010)8,1010O
16进制 (Hexadecimal number)(1010)16,1010H,OX1010
2进制相互转换
二进制转为十进制
- 1010B转为10进制先将数字从左到右排出高低位,从右往左开始算起,从低位到高位;下标从0开始算起即(n-1)
- 这里以1010B为例进行二进制转十进制,8进制转十进制和16进制转10进制原理相同
十进制转为二进制
以125D为例两种方法
方法一余数倒排法
- 所谓余数倒排法,即为125除以2,若能除后有余数,则二进制取1;若没有余数则二进制取0(125/2得62余1则二进制位取1)然后再用余数继续除2,所取的1和0再按照从后往前排位,一直除到最后
转换8进制和16进制同理
方法二减法顺排法
- 还是以125D为例,这个方法首先需要注意下一个规律即
- 可以发现当二进制数每一位上都是1时,每一位转换为10进制数就为2^n-1
通过这个规率125与第7位的128相近所以可得如下
2进制转8进制和16进制
2进制转8进制
- 从低位往高位算,每3位一转换,以101001110为例
2进制转16进制 - 从低位往高位算,每4位一转换,原理和转8进制一样,不够组成4位的则在前面补0
常见的8位二进制
100000000=128
11000000=192
11100000=224
11110000=240
11111000=248
11111100=252
11111110=254
11111111=255
补充一些计算机的一些知识,可能会有点乱,与进制关系不大可以略过
计算机架构的演变
裸金属》虚拟机》云平台(云计算)》云原生(容器)》serviceless(无服务)
云计算服务平台
SaaS(软件即服务) 云厂商直接提供软件服务 如:office
PaaS (平台即服务) 云厂商提供应用平台 如:K8s
IaaS (基础设施服务) 云服务器 如:Ecs
云计算分类
公有云(阿里云,华为云,腾讯云,AWS,Google,Azure)
私有云 (openstack)
混合云
文件的读写
写入 数据>内存(BUFFER)>硬盘 write(写入)fsync(刷入)
读取 硬盘>内存(CACHE)>客户端
物理机和虚拟机和容器的生动化类比
1 裸机不能直接操作和使用
安装操作系统 windows Unix Linux macos 安卓等
内核 (接受用户的操作指令转换为二进制语言,调用相关的硬件资源)
2 OOM (out of memory)内存不足导致程序退出
虚拟内存(交换分区)拿硬盘的一部分空间存储内存的空闲数据