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