15.基础语法-数字存储原理

15 数字存储原理

15.1 数字存储

  计算机内存由无数个电容器组成,可以通过电路控制给电容充电或放电充满电代表 1未充电代表 0,所以计算机存储任何数据只能用 0 和 1 来表示,每个电容就是一个最小存储单元,称为 bit(位)。

15.2 二进制

  计算机表示数字只能用 0 和 1,当数字大于 1 时,就必须进位,也就是逢 2 进 1,我们称之为 二进制

对比举例(十进制与二进制数字对比):

十进制:0、1、2、3、4

二进制(二进制逢 2 向前进 1 位):00000000、00000001、00000010、00000011、00000100

具体数字:

十进制:1254(千百十位,一千两百五十四,即 1 x 10^3 + 2 x 10^2 + 5 x 10^1 + 4 x 10^0 = 1000 + 200 + 50 + 4 = 1254)

二进制:1111(即 1 x 2^3 + 1 x 2^2 + 1 x 2^1 + 1 x 2^0 = 8 + 4 + 2 + 1 = 15 即 二进制的 1111 表示 十进制的 15 )

15.3 十六进制

  二进制只能表示 0 - 15 ,将多个二进制放到一起,能表示多位数,即 十六进制,遇到十六进一

  每4个二进制位作为1位数,范围是 0~15,大于9的用A~F代替,每逢16进1,我们称之为十六进制

1111/1010/0000/1100/1101/1001
15  /10  /0   /12  /13  /9
F   /A   /0   /C   /D   /9

15.4 八进制

  每3个二进制位作为1位数,逢8进1,范围是 0~7,我们称之为八进制

111/110/100/000/110/011/011/001
7  /  6/  4/  0/  6/  3/  3/  1

15.5 进制对比

二进制
1111/1010/0000/1100/1101/1001
15100012139
八进制
111/110/100/000/110/011/011/001
7、6、4、0、6、3、3、1
十六进制
F   /A   /0   /C   /D   /9

缺点:八进制容易与十进制混淆,二进制表示的过多,十六进制转换成十进制复杂不宜读

编程中多用二进制和十六进制

15.6 演示

鼠标放到 com.itheima 行,点击鼠标右键,新建名为 chap03 的 Package 包,在 chap03 包下新建 NumberSystem 类

package com.itheima.chap03;

public class NumberSystem {
    public static void main(String[] args) {
        // 1.十进制
        System.out.println(10);
        // 2.二进制的10
        System.out.println(0b1010); // 二进制 1010 即 1x2^3 + 0x2^2 + 1x2^1 + 0x2^0 = 10 , 二进制在前面加上 0b 代表二进制
        // 3.八进制的10
        System.out.println(012);  // 八进制 12 即 1x8^1 + 2x8^0 = 10, 八进制在前面加上 0 代表八进制
        // 4.十六进制的10
        System.out.println(0xA);  // 十六进制 A, 十六进制在前面加上 0x 代表十六进制
    }
}

------------------------------------------------ 执行后
D:\Software\jdk17\bin\java.exe "-javaagent:D:\Software\JetBrainsIntelliJ IDEA 2025.2.4\lib\idea_rt.jar=6164" -Dfile.encoding=UTF-8 -classpath D:\Software\JavaCode\p1-basic\out\production\p1-basic com.itheima.chap03.NumberSystem
10
10
10
10

Process finished with exit code 0

15.7 小结

1.计算机存储的最小单位是什么?

计算机存储的最小单位是bit,也叫位,每一位只能是0或1

2.计算机如何存储整数?

由于每个bit只能是0和1,所以计算机采用二进制存储数字,逢2进1

3.表示数字还有哪些进制?

二进制,逢2进1,Java中以0b开头

八进制,逢8进1,每一位等于3个二进制位,Java中以0开头

十进制,逢10进1,采用8421法与二进制转换

十六进制,逢16进1,每一位等于4个二进制位,Java中以0x开头

———————————————————————————————————————————————————————————————————————————

                                                                                                                         无敌小马爱学习

posted on 2025-12-02 17:27  马俊南  阅读(10)  评论(0)    收藏  举报