JavaSE知识-02(进制运算&数据类型&变量)

十进制转换为任意进制 除积倒取余

原码补码反码


负数原码求补码: 逐位取反再加1
负数补码求原码: 减1再逐位取反

定义不同数据类型的变量



数据类型转换之隐性转换


运行结果为7

数据类型转换之强制转换



强制转换超出范围

结果是-126
解析 130的二进制是00000000 00000000 00000000 10000010
运算的时候是以补码进行运算 10000010是-126补码
减1求-126反码 10000001
除符号位其余逐位取反 得-126原码 11111110

结果是44
解析 300的二进制是 00000000 00000000 00000001 00101100
运算的时候是以补码进行运算00101100是44的补码
与其原码相同

变量相加与常量相加的区别


上面的会提示错误: 可能会损失精度

算术运算符基本用法



第三行报错: 可能损失精度 右边b+1是byte和int进行混合运算会提升为int型
而第二行两句等价

第一句可能会损失精度

posted @ 2020-01-11 09:49  20145232  阅读(350)  评论(0编辑  收藏  举报