资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

Java基础:进制

Java 更新时间: 发布时间: 计算机考试归档 最新发布

Java基础:进制

1 进制 1.1 进制介绍
对于整数,有四种表示方式:
二进制: 0,1,满2进1.以0b或OB开头。
十进制: 0-9 ,满10进1。
八进制: 0-7,满8进1.以数字О开头表示。
十六进制:0-9及A(10)-F(15),满16进1.以0x或OX开头表示。此处的A-F不区分大小写
1.2 进制的图


2 进制的转换 2.1 二进制转换成十进制示例
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
案例:请将0b1011转成十进制的数
0b1011 =1*2的(1-1)次方+1 *2的(2-1)次方+0*2的(3-1)次方+1*2的(4-1)次方法=1 +2+0+8=11
2.2 八进制转换成十进制示例
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。
案例:请将0234转成十进制的数
0234= 4*8^0+ 3*8 ^1+2*8 ^2= 4 + 24+128=156
2.3 十六进制转换成十进制示例
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。
案例:请将0x23A转成十进制的数
0x23A=10*16^0+3*16 ^1+2*16 ^2=10+48+512 =570
2.4 十进制转换成二进制
规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
案例:请将34 转成二进制=0B00100010

2.5 十进制转换成八进制
规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。
案例:请将131转成八进制=>0203

2.6 十进制转换成十六进制
规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。
案例:请将237转成十六进制=>OxED

2.7 二进制转换成八进制
规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可。
案例:请将ob11010101转成八进制
ob11(3)010(2)101(5) => 0325
2.8 二进制转换成十六进制
规则:从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。
案例:请将 ob11010101转成十六进制
ob1101(D)0101(5)  =  0xD5
2.9 八进制转换成二进制
规则:将八进制数每1位,转成对应的一个3位的二进制数即可。
案例:请将0237转成二进制
02(010)3(011)7(111)=0b10011111
2.10 十六进制转换成二进制
规则:将十六进制数每1位,转成对应的4位的一个二进制数即可。
案例:请将0x23B转成二进制
Ox2(0010)3(0011)B(1011) = 0b001000111011
3 二进制在运算中的说明
1.二进 制是逢2进位的进位制,0、1是基本算符。
2.现代的电子计算机技术全部采用的是二进制,因为它只使用O、1两个数字符号,
非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用0和1两个数字及其组合来表示任何数。进位规则是"逢2进1",数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。
4 原码、反码、补码(重点难点)

5 位于运算符
java 中有7个位运算(&、|、^ 、~、>>、<<和>>>)

//推导过程
//1. 先得到 2的补码 => 2的原码 00000000 00000000 00000000 00000010
//   2的补码 00000000 00000000 00000000 00000010
//2. 3的补码 3的原码 00000000 00000000 00000000 00000011
//   3的补码 00000000 00000000 00000000 00000011
//3. 按位&
//   00000000 00000000 00000000 00000010
//   00000000 00000000 00000000 00000011 
//   00000000 00000000 00000000 00000010 & 运算后的补码
//   运算后的原码 也是  00000000 00000000 00000000 00000010
//   结果就是  2
System.out.println(2&3);//2

//推导
//1. 先得到 -2的原码 10000000 00000000 00000000 00000010
//2. -2的 反码 	    11111111 11111111 11111111 11111101
//3. -2的 补码       11111111 11111111 11111111 11111110
//4. ~-2操作        00000000 00000000 00000000 00000001运算后的补码
//5. 运算后的原码 就是 00000000 00000000 00000000 00000001 => 1
System.out.println(~-2);//1

//推导
//1. 得到2的补码 00000000 00000000 00000000 00000010
//2. ~2操作     11111111 11111111 11111111 11111101  运算后的补码
//3. 运算后的反码  11111111 11111111 11111111 11111100
//4. 运算后的原码  10000000 00000000 00000000 00000011=>-3
System.out.println(~2); //-3
转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/992280.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【Java基础:进制】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2