操作系统
操作系统简称OS,任何软件运行都需要操作系统
Windows: 95,98,2000,xp,vista,7,8,10
Unix 服务器端 -->大公司(有钱)
Linux 开源的系统 CentOS6.9
进制引入
进制 :二进制 , 十进制 , 八进制, 十六进制
二进制:
组成: 0 和 1 进制规则:逢二进一
例子: 0 --> 00 1 -->01 2--> 01+1 = 10 3 --> 10+1 = 11 4--> 11+1 = 100
十进制:
组成:0,1,2,3,4,5,6,7,8,9 进制规则:逢十进一
例子 9--> 9+1= 10 19 --> 19+1 = 20
二进制和十进制之间的互相转换
1.将二进制转换为十进制1.从右向左第一位是0,依次向后,用当前二进制所表示数字乘以2的次方求和
2. 8421计算方式 从右向左依次为
1 2 4 8 每次递增乘以2 --> 对应的是具体1的值 0得到依旧是0 2.将十进制转换为二进制
对当前十进制求余数---> % 对2求余,直到商为0 位置,从下至上读取
如何判断一个数是否是偶数或奇数 --> 对2求余 余数是0偶数 余数是1奇数 如果在一个程序中需要判断一个数是否能被整除 不能使用数学中的除号(/) 需要判断整除 使用% ps:在编程中整除除以整数,只能得到整数
八进制:
是为了更好的读取二进制
八进制的组成0,1,2,3,4,5,6,7 进制规则:逢八进一 例如:7 --> 10
ps: IP 地址 255 255 255 255
二进制和八进制之间的互相转换
1.如何将二进制转换为八进制
八进制和二进制存在一种对等关系[三位一取]
1. 从右向左,没三位一段, 不足三位补0 ,分别对每三位的二进制求数字(十进制求即可) 10101011(2) --> 010 101 011 -> 253(8)
2.将八进制转换为二进制
1.从右相向左,每一位断开 求对应二进制即可,不足三位的补0
253(8)---> 2 5 3 --> 010 101 011 --> 010101011(2) ps:若是左边第一位补0,可以省略不影响计算,中间补0不能去掉
十六进制
十六进制的组成: 0 - 9
(a)10 (b)11 (c)12 (d)13 (e)14 (f)15 是由字母代替的
二进制和十六进制的之间的互相转换
1.二进制转十六进制二进制和十六进制也有一种对等的关系(四位一取)从右向左,没四位一段,求二进制对应的十进制值输出对应的十六进制1111111111111111(2) --> 1111 1111 1111 1111 -->ffff(16)2.十六进制转换二进制从右向左,每一位断开,求对应二进制的值即可 不足四位的补0 ffff(16) --> f f f f --> 1111 1111 1111 1111(2)
原码,反码和补码
转换过程
8bit(位) = 1 byte(字节 K)
1024Byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
ps:
已知最大数据量是高德3TB , 阿里 计算机存储数据需要开辟空间,开辟空间最小单元是字节1MB = 1048576K (1024*1024) 1MB = 1024KB
原码:
原码存储数据,用最高为表示符号位,其他位表示数值大小(1表示负数,0表示正数)例子:存数据(规定存储数据使用1个字节)
1byte(字节) = 8bit(位)
5的原码 --> 0 000 0101
-5的原码 --> 1 000 0101
ps: 数据类型-->正数int --> 内存中4个字节 --> 32位 思考:使用原码存储1和-1的值
0000 0001 1原码
1000 0001 -1原码
==============================
相加 1000 0010 -2 底层存数据就不能使用原码的形式存储
反码
1正数的反码和补码是一样的 2.负数的反码符号位不动,其他位安位取反(1变0,0变1) 例子:
存储 5 和 -5的反码
5的原码 0000 0101 原码,其反码
-5的原码 1000 0101 原码
1111 1010 反码
思考:使用反码存储1和-1的值
0000 0001 1原码,反码
1000 0001 -1原码
1111 1110 反码
==============================相加
1111 1111 -255
ps:按照一个字节计算 -127 底层即不可以使用原码存储数据也不能使用反码存储数据
补码
1.整数的补码和原码,反码是一样的 ps:整数求出原码后,反码,补码都已经求出了 2.负数的补码,是在反码的基础上+1 思考:使用补码存储1和-1的值
0000 0001 1原码,反码,补码
1000 0001 -1原码
1111 1110 反码
1111 1111 补码 反码+1
==============================相加
1 0000 0000 == 0的值计算机就会认为是0 1溢出,1得到的效果是一个理论值,在实际存储中是存储不了的1 0000 0000 ---> 在存储中存储 --> 0000 0000计算机底层就是使用补码的形式存储数据的