数据压缩作业2.17

*爱你&永不变心* 提交于 2020-02-18 00:40:16

总结归纳计算机编程中的各种数据类型,其表示形式和计算方法。重点关注类型转换、数值溢出和移位等操作。

以java为例

基本数据类型:

byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
boolean:只有true和false两个取值。
char:16位,存储Unicode码,用单引号赋值。

运算:

算术运算:+加 -减 *乘 /除 %取模 ++自增 --自减
关系运算:==相等 !=不相等 >大于 <小于 >=大于等于 <=小于等于
位运算:&按位与 |按位或 ~取反
逻辑运算:&&与 ||或 !非

类型转换:

1.自动类型转换:
所谓自动类型转换,是指系统支持把某种基础类型直接付给另一种基础类型的变量。

注意:自动类型转换的前提条件,必须是把表数范围小的数值或变量赋给表数范围大的变量。

2.强制类型转换:
强制转换的语法格式是:(targetType)value,强制转换的运算符是圆括号(())。

强制转换需要注意点:
1).把一个浮点数强制转换为整数时,java会直接截断浮点数的小数部分。
2).把一个超出数据范围的数值赋给数据类型是,会出现数据溢出的情况,造成数据的缺失。

数据溢出:

基本的数据类型(long,int,short,byte,char,float,double)都有自己能够保存的数据范围。

当某一种类型的数值已经达到了此类型能够保存的最大值之后,再继续扩大,或者达到了最小值后再继续缩小,就会出现数据溢出问题。

例如:int a; long b; b = a * 10; 在计算过程中a*10可能会发生溢出超过int范围,应该在计算时将变量a强制类型转换成长整型。

移位操作:

1.>> 是带符号右移,若左操作数是正数,则高位补“0”,若左操作数是负数,则高位补“1”.
2.<< 将左操作数向左边移动,并且在低位补0.
3.>>> 是无符号右移,无论左操作数是正数还是负数,在高位都补“0”**

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!