Demo01.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.lovecoding.day04;
  2. /**
  3. * @author WanJl
  4. * @version 1.0
  5. * @title Demo01
  6. * @description 进制
  7. * @create 2026/7/10
  8. */
  9. public class Demo01 {
  10. /*
  11. 电灯的开关说起
  12. 计算机内部是有电子元件组成,最基本的单位就是 晶体管,我们现在使用的晶体管只有两种状态:
  13. 通电: 高电压 1
  14. 断电: 低电压 0
  15. 如果要让晶体管标识10种状态 十进制,就需要10个不同的电压值 ---那么电路设计就会相当复杂。
  16. 两种状态 开/关 最稳定 最可靠
  17. 计算机使用二进制不是因为二进制高级,只是因为硬件只识别通电/断电
  18. 二极管
  19. 什么叫进制
  20. 就是计数的规则:
  21. 基数:有多少个不同的数字符号
  22. 位权:每个数位代表的实际数值
  23. 四种:
  24. 二进制: 基数 2 数字符号:0 1 Java中的写法-加前缀: 0b 或 0B
  25. 八进制: 基数 8 数字符号:0 1 2 3 4 5 6 7 Java中的写法-加前缀: 0
  26. 十进制: 基数 10 数字符号:0 1 2 3 4 5 6 7 8 9 十进制正常写就可以
  27. 十六进制: 基数 16 数字符号:0 1 2 3 4 5 6 7 8 9 A B C D E F Java中的写法-加前缀:0x 或 0X
  28. 编码: 把人能看懂的信息形式(十进制数、文本、图片、音频、视频) 按照一定的规则 转换为另一种形式(比如二进制数据)的过程。
  29. 解码:编码的逆过程,把二进制数据 转换为 人能看懂的信息
  30. 二进制(Binary)----计算机的语言
  31. 二进制数据只有 0 和 1 两个数字,逢二进一
  32. 1101 这个二进制数的含义:
  33. 位 1 1 0 1
  34. 位权 2^3=8 2^2=4 2^1=2 2^0=1 // 二进制数的位权是从右往左,右侧为最低位,左侧为最高位
  35. 计算 1*8 1*4 0*2 1*1 //得到的结果相加,就得到的最终 的十进制数
  36. 1101(二进制)= 1*8 + 1*4 + 0*2 + 1*1 = 13(十进制)
  37. 1010 -->
  38. 1*8+0*4+1*2+0*1 = 10
  39. 八进制(Octal)---二进制的缩写
  40. 八进制使用 0~7 共8个数字。逢八进一。
  41. 八进制和二进制的对应关系:每 3 位二进制 对应 1 位八进制
  42. 二进制: 001 101 111
  43. 八进制: 1 5 7
  44. 十进制 ---人用的数字
  45. 0~9 逢十进一
  46. 十六进制 二进制的缩写---4位一组
  47. 十六进制 0~9 加 A~F 共16位数字,逢十六进一
  48. A~F对应的十进制数
  49. A B C D E F
  50. 10 11 12 13 14 15
  51. 十六进制和二进制的对应关系:每 4 位二进制 对应 1 位十六进制
  52. 二进制: 1101 1110 1010 0101
  53. 十六进制: D E A 5
  54. 十六进制最常用的方式: 颜色的色值、内存地址、MAC地址(计算机硬件地址)、文件权限等等都是使用十六进制标识。
  55. */
  56. public static void main(String[] args) {
  57. int a=0b0101011; //Java中二进制整数 加前缀 0b 或 0B
  58. System.out.println(a); //Java会自动的转换成十进制输出
  59. int b=01234567; //Java中八进制整数 加前缀 0 或 0
  60. System.out.println(b);
  61. int c=0x123AFEC9; //Java中十六进制整数 加前缀 0x 或 0X
  62. System.out.println(c);
  63. /*
  64. 0 1 2 3 4 5 6 7 8 9 10
  65. 0 1 10 11 100
  66. */
  67. }
  68. }