2017-3-22学习内容

2017-03-23  本文已影响0人  baiyun520960

2017-3-22


有符号数据的表示法:

             源码,反码和补码

为什么需要这个知识点?

             A因为计算机在操作的时候,都是采用数据对应的二进制的补码来计算的

我准备用原码,反码,补码来表示+7和-7

正数的原码最高位是0,负数的原码最高位是1,其他位是数值位。

+7 :原码: 0000111

-7  : 原码: 1000111

正数的反码与原码相同,负数的反码与原码符号相同,数值为取反,就是1变0,0变1。

+7 :反码0000111

-7  :反码1111000

补码:正数的补码与原码相同,负数的补码是在反码的基础上加1。

+7 :补码:0000111

-7 :补码1111001

练习:

1已知某数X的原码为10110100B,试求X的补码和反码  

            符号位             数值位

补码:        1               1001100

反码:         1               1001011

2已知某数X的补码为11101110B,试求其原码

                         符号位             数值位

可以先求反码:     1                  1101101

原码:                   1                   0010010


定义变量的格式是:

数据类型 变量名=初始化值;


关键字

标识符

基本数据类型转换:普通的转换和强制转换

布尔类型永远无法和其他的转换,因为boolean的值只有true和false。

普通转换:

普通转换是只能从小的数据类型转换成大的数据类型。

强制转换:

          从大的数据类型到小的数据类型。

           目标数据类型 变量=(目标数据类型)(被转换的数据)

注意:不要随意使用强制转换,因为它隐含精度损失问题。

一个有趣的小例子:

问:下述两句的区别?

float f1=(float)12.345;

float f2=12.345F;

答:第一个:第一句因为12.345所以是double类型,然后一个强制转换,是截取掉double多余的字节后的float类型。

看第二个:第二个添加了一个F,所以其本身就是一个float类型。

上一篇下一篇

猜你喜欢

热点阅读