java自学笔记:四种进制
2023-12-26 07:59:19
文章目录
四种进制
- 二进制:0,1 ,满2进1,以0b或0B开头。
- 十进制:0-9 ,满 10 进 1。
- 八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。
- 十六进制:0-9 及 A(10)-F(15),满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。
public class var01 {
//编写一个main方法
public static void main(String[] args) {
//n1 二进制
int n1 = 0b1010;
//n2 10 进制
int n2 = 1010;
//n3 8 进制
int n3 = 01010;
//n4 16 进制
int n4 = 0X10101;
System.out.println("n1=" + n1); //n1=10
System.out.println("n2=" + n2); //n2=1010
System.out.println("n3=" + n3); //n3=520
System.out.println("n4=" + n4); //n4=65793
System.out.println(0x23A);
}
}
}
1. 其他进制转10进制
2转10
- 从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
- 举例:
8转10
- 从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。
- 举例:
16转10
- 从最低位(右边)开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。
- 举例:
0x23A = 10 * 16^0 + 3 * 16 ^ 1 + 2 * 16^2 = 10 + 48 + 512 = 570
随堂练习
- 0b110001100 转成 十进制
0b110001100 = 1 * 2^2 + 1 * 2^3 + 1 * 2^7 + 1 * 2^8 = 4+8+128+256=396 - 02456 转成十进制
02456 = 6 * 8^0 + 5 * 8^1+ 4 * 8^2 + 2 * 8^3 = 6+40+256+1024=1326 - 0xA45 转成十进制
0xA45 = 5 * 16^0 + 4 * 16^1 + 10 * 16^2 = 5 + 64 +2560=2629
2. 10进制转其他进制【不断/ x 知道为0,余数倒过来就是】
10转2
- 将该数不断除以 2,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的二进制。
- 练习:
34转2进制 = 0B00100010(不够8位数字,前面补0)
10转8
- 将该数不断除以 8,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的八进制。
- 案例:
131 转成八进制 => 0203
10转16
- 将该数不断除以 16,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的十六进制。
- 案例:
请将 237 转成十六进制 => 0xED
随堂练习
- 123 转成 二进制 => 0B001111011
- 678 转成八进制 => 01246
- 8912 转成十六进制 => 0x22D0
2进制转其他进制
2转8
- 从低位开始,将二进制数每三位一组,转成对应的八进制数即可。
- 案例:
- 请将 ob11 010 101 转成八进制
ob11(3)010(2)101(5) => 0325
2转16
- 从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。
- 案例:
请将 ob 1101 0101 转成十六进制
ob1101(D)0101(5) = 0xD5
随堂练习
- 0b11100101 转成 八进制
0b11(3)100(4)101(5) = 0345 - 0b1110010110 转成 十六进制
0b11(3)1001(9)0110(6)= 0x396
其他进制转2进制
8转2
- 将八进制数每 1 位,转成对应的一个 3 位的二进制数即可。
- 案例:
请将 0237 转成二进制
02(010)3(011)7(111) = 0b10011111
16转2
- 将十六进制数每 1 位,转成对应的 4 位的一个二进制数即可。
- 案例:
请将 0x23B 转成二进制
0x2(0010)3(0011)B(1011) = 0b001000111011
随堂练习
- 请将01230 转成 二进制
01(001)2(010)3(011)0(000)= 0b001010011000 - 0xAB29 转成二进制
0xA(1010)B(1011)2(0010)9(1001)= 0b1010101100101001
文章来源:https://blog.csdn.net/skylar0/article/details/135189402
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!