课程名称:二进制与JAVA中的基本数据类型
课程章节:第1章 认识计算机中的数学基础
课程讲师: 舞马
课程内容:
一、二进制的前世今生
1、什么是二进制
二进制数只有‘0’和‘1’,进位规则逢二进一
学习掌握:二进制的计数原理、优点缺点、运算方式
2、二进制与计算机
冯诺依曼体系结构
采用二进制逻辑
顺序执行程序
硬件分五部分:运算器、控制器、储存器、输入设备、输出设备
3、二进制的优点
技术实现容易(高电压1、低电压0)
传输可靠性高
适合逻辑运算(1代表真、0代表假)
运算规则简单(1*1=1 1*0=0 0*1=0 0*0=0)
4、二进制的缺点
表示数时位数太多
可读性差,难于记忆
储存空间占用多
逻辑只能代表是和否
二、计算机中的进制
1、位值制记数法
1)什么是位值制记数法?
定义:是指按位置决定数值的方式来记数的方法
一个数的大小,和一组有顺序的数字表示
数字所表示的大小,取决于它所代表的数值和所处的位置
关键名词:数码(使用的数字符号),基数(每个进制的基数),位权(固定位置对应的单位值)。
十进制的数码:0、1、2、3、4、5、6、7、8、9
十进制的基数:10.
十进制的位权:个、十、百、千、万……
二进制的数码:0、1
二进制的基数:2.
二进制的位权:从右往左分别是2º、2¹、……
转化规则:展开位权进行求和操作
二进制的小数部分:
2、JAVA中的进制
1)八进制和十六进制
八进制:基数(8)、数码(0~7)、位权(1、8、64、512……)
十六进制:基数(16)、数码(0~9、A~F)、位权(1、16、256……)
2)JDK自带的进制转换
JAVA可以直接声明二、八、十、十六进制,底层存储都是二进制的形式
int bin = 0b1100010
int oct = 0142;
int dec = 98;
int hex = 0x62;
JAVA默认使用十用制,输出显示都是十进制的形式
JDK中的进制转换方法:
转换二进制显示:Integer.toBinaryString();
转换八进制显示:Integer.toOctalString();
转换十六进制显示:Integer.toHexString();
扩展:Integer.toString(int i,int radix)方法,转化为自定义的进制显示;
3、位运算
1)什么是位运算
位运算就是直接对整数在内存中的二进制位进行操作。(逻辑操作、位移操作)
二进制数码本身具有逻辑运算特性。
计算机中的数据存储有位数限制。
2)位运算的符号与规则
JAVA运算符:接位与&、按位或|、按位异或^、按位取反~、左移<<、右移>>、无符号右移>>>
按位与:&,清零特定位、获取特定位;
接位或:|,将特定位设置为1;
接位异或:^,与自身异或得0,与同一个数连续异或得自身
课程收获:
重温计算机基础知识,对二进制、对位值制计数法、不同进制间转换规则、原码反码补码及位运算等加深理解,为后续其他课程打个基础。