手记

【备战春招】第11天 二进制与JAVA中的基本数据类型

课程名称:二进制与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,与同一个数连续异或得自身

课程收获:

重温计算机基础知识,对二进制、对位值制计数法、不同进制间转换规则、原码反码补码及位运算等加深理解,为后续其他课程打个基础。

0人推荐
随时随地看视频
慕课网APP