java基础知识整理【1】

操作系统

操作系统简称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

扫描二维码关注公众号,回复: 6584480 查看本文章

二进制和十进制之间的互相转换

1.将二进制转换为十进制1.从右向左第一位是0,依次向后,用当前二进制所表示数字乘以2的次方求和

  1. 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 ©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计算机底层就是使用补码的形式存储数据的

猜你喜欢

转载自blog.csdn.net/root1994/article/details/88883734