01_Java中的常量 常量:在程序的运行过程中,其值是不会发生改变的量。 常量的分类:(字面值常量,自定义常量后面讲) 整数常量:12 小数常量:1.1 布尔常量:true,false 字符常量:用''括起来的一个数据:'A','1' 字符串常量:用""括起来的数据 null常量:null(空) 常量可以直接被输出。 02_进制的概述进制:是一种进位的方式。X进制,表示逢x进1。 整数常量的表示(jdk7以后开始支持二进制) 二进制:0-1,用0b开头。0b1101 八进制:0-7,用0开头表示。045 十进制:0-9,默认就是十进制 十六进制:0-9,A-F(不区分大小写),用0x或0X开头表示。0x6A8
二进制: 电信号的状态:开、关 数字信号:用1表示开、0表示关 字节数据是计算机表示(存储和传输)的最基本单位 1个二进制数据被称为位:bit 1个字节:byte = 8bit 1K = 1024 byte 1M = 1024 K 1G = 1024 M 1T = 1024 G
八进制: 将二进制数据,从右往左,每三位一组合,计算出组合后的十进制数据,最终再把每三位组合的十进制数据进行拼接,就形成了八进制数据。 (注意:如果左边不够,用0补齐)
十六进制: 将二进制数据,从右往左,每四位一组合,计算出组合后的十进制数据,最终再把每四位组合的十进制数据进行拼接,就形成了十六进制数据。 (注意:如果左边不够,用0补齐) 03_其他进制到十进制的转换十进制 —— 十进制 12345 —— 12345 12345 = 1*10^4+2*10^3+3*10^2+4*10^1+5*10^0 总结规律(刘总结): 系数:就是每一位上的数据 基数:x进制,基数基数就是x 权:把数据从最后边以为开始给编号(从0开始),这个编号就是制定位置数据的权。 结果:把系数*基数^权次幂叠加即可。
二进制数据: 101101 = 1*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0=45 二进制—— 十进制 101101 —— 45 04_十进制到其他进制的转换结论:除基取余,直到商为0,余数反转。 05_在进制转换中的快速转换8421码: 二进制数据: 1 1 1 1 1 1 1 1 128 64 32 16 8 4 2 1 十进制表示成二进制: 二进制表示成十进制:
二进制到八进制、十六进制 最基本做法:二进制—— 十进制 —— 八进制、十六进制 简单做法:八进制:3位一组合,计算十进制,最后拼接 十六进制:4位一组合,计算十进制,最后拼接
06_有符号数据的表示形式有符号数据的表示法:原码,反码,补码。 数据是有正负之分的。 在计算机中所有的数据都是以补码的形式存在。
给出数据7和-7。我们来计算。
原码:其实就是有符号数据的最基本表示形式。最高位是符号位,其他 位是数据位。 0表示正,1表示负 又由于数据在计算机中都是二进制的,所以首先第一步,我们要计算除数据的二进制表示形式: 111 7的原码:00000111 -7的原码:10000111
| 反码:正数的反码和原码相同, 负数的反码和原码不同,规则是:除去符号位,其他数值取反(0 变1,1变0) 7的反码:00000111 -7的反码:11111000
| 补码:正数的补码和原码相同, 负数的补码和原码不同,规则是:反码+1。 7的补码:000000111 -7的补码:11111001
|
作业:1-1的结果是? 注意:1+(-1) 第一步:获取数据的原码 1: 00000001 -1:10000001 第二步:获取数据的补码 1: 补 00000001 -1:反 11111110 补 11111111 第三步:用补码计算 1: 0 0000001 -1: 1 1111111 10 0000000 符号位也会参与运算,如果数据超出范围(8bit),那么舍弃超出位。 运算结果为0. 作业: 1.已知原码,求补码。 例:已知某数X的原码为10110100,试求X的补码和反码。 2.已知补码,求原码。 例:已知某数X的补码为11101110,试求其原码。 07_有符号数据的作业负数的原码、反码、补码: 原码:符号位是1,数据值和正数一样 反码:符号位不变,数据值取反 补码:反码+1 1.已知原码,求反码,补码 原码:10110100 反码:11001011 补码:11001100 2.已知补码,求原码 补码:11101110 反码:11101101 原码:10010010 |