文章目录

  • 📘 进制定义与转换详解
    • 一、进制的含义
    • 二、常见进制介绍
      • 1. 十进制(Decimal,Base-10)
      • 2. 二进制(Binary,Base-2)
      • 3. 八进制(Octal,Base-8)
      • 4. 十六进制(Hexadecimal,Base-16)
    • 三、进制之间的转换
      • 1. 任意进制 → 十进制
        • 通用公式:
        • 示例:
      • 2. 十进制 → 任意进制
        • 方法:除基取余法(从下往上读)
          • 示例:十进制 `123` → 二进制
          • 示例:十进制 `100` → 八进制
          • 示例:十进制 `123` → 十六进制
      • 3. 二进制与其他进制的快速转换
        • a. 二进制 → 八进制
          • 示例:
        • b. 二进制 → 十六进制
          • 示例:
    • 四、负数的表示(以二进制为例)
      • 步骤:
        • 示例:-100 的二进制表示
    • 五、总结
  • 进制加减法
      • 进制基础与加减法运算规则
        • 一、二进制(Binary)
        • 二、八进制(Octal)
        • 三、十进制(Decimal)
        • 四、十六进制(Hexadecimal)
      • 总结
    • 进制对照表

📘 进制定义与转换详解

一、进制的含义

进制,也称为进位计数制,是一种人为定义的、带进位的计数方法。每种进制都有其基数(Base),表示该进制下使用的不同数字个数。

  • X进制:每一位上的数字运算时都是逢X进一
    • 十进制:逢十进一
    • 二进制:逢二进一
    • 八进制:逢八进一
    • 十六进制:逢十六进一
    • ……

💡 小知识:也有不带进位的计数法,如“正”字计数、结绳记事等,但进制是现代数学和计算机中广泛使用的标准计数方式。


二、常见进制介绍

1. 十进制(Decimal,Base-10)

  • 基数:10
  • 符号:0 ~ 9
  • 权重:10的幂次方
  • 示例
    1234=1×103+2×102+3×101+4×1001234 = 1 \times 10^3 + 2 \times 10^2 + 3 \times 10^1 + 4 \times 10^0 1234=1×103+2×102+3×101+4×100

2. 二进制(Binary,Base-2)

  • 基数:2
  • 符号:0、1
  • 权重:2的幂次方
  • 用途:计算机底层表示数据的基本单位(0表示关,1表示开)
  • 示例
    1002=1×22+0×21+0×20=410100_2 = 1 \times 2^2 + 0 \times 2^1 + 0 \times 2^0 = 4_{10} 1002=1×22+0×21+0×20=410
  • 表示方式:前缀 0B
    int val = 0B100;  // 表示十进制4
    

3. 八进制(Octal,Base-8)

  • 基数:8
  • 符号:0 ~ 7
  • 权重:8的幂次方
  • 用途:早期计算机系统中常用,每个八进制位对应3个二进制位
  • 示例
    1238=1×82+2×81+3×80=8310123_8 = 1 \times 8^2 + 2 \times 8^1 + 3 \times 8^0 = 83_{10} 1238=1×82+2×81+3×80=8310
  • 表示方式:前缀 0
    int val = 0123;  // 表示十进制83
    

4. 十六进制(Hexadecimal,Base-16)

  • 基数:16
  • 符号:0 ~ 9 和 A ~ F(或 a ~ f),其中:
    • A = 10,B = 11,C = 12,D = 13,E = 14,F = 15
  • 权重:16的幂次方
  • 用途:常用于内存地址、颜色编码等,每个十六进制位对应4个二进制位
  • 示例
    1a2b3c16=1×165+10×164+2×163+11×162+3×161+12×160=1715004101a2b3c_{16} = 1 \times 16^5 + 10 \times 16^4 + 2 \times 16^3 + 11 \times 16^2 + 3 \times 16^1 + 12 \times 16^0 = 1715004_{10} 1a2b3c16=1×165+10×164+2×163+11×162+3×161+12×160=171500410
  • 表示方式:前缀 0x
    int val = 0x1a2b3c;  // 表示十进制1715004
    

三、进制之间的转换

1. 任意进制 → 十进制

通用公式:

设某进制数为 xyzw...N,其十进制值为:

Value=x×Bn−1+y×Bn−2+z×Bn−3+⋯+N×B0\text{Value} = x \times B^{n-1} + y \times B^{n-2} + z \times B^{n-3} + \cdots + N \times B^0 Value=x×Bn1+y×Bn2+z×Bn3++N×B0

其中:

  • $ B $:进制基数
  • $ n $:数字位数
示例:
  • 二进制 0B100
    1×22+0×21+0×20=41 \times 2^2 + 0 \times 2^1 + 0 \times 2^0 = 4 1×22+0×21+0×20=4

  • 八进制 0123
    1×82+2×81+3×80=831 \times 8^2 + 2 \times 8^1 + 3 \times 8^0 = 83 1×82+2×81+3×80=83

  • 十六进制 0x1a2b3c
    1×165+10×164+2×163+11×162+3×161+12×160=17150041 \times 16^5 + 10 \times 16^4 + 2 \times 16^3 + 11 \times 16^2 + 3 \times 16^1 + 12 \times 16^0 = 1715004 1×165+10×164+2×163+11×162+3×161+12×160=1715004


2. 十进制 → 任意进制

方法:除基取余法(从下往上读)

在这里插入图片描述
在这里插入图片描述

示例:十进制 123 → 二进制
123 ÷ 2 = 61 余 1
61  ÷ 2 = 30 余 1
30  ÷ 2 = 15 余 0
15  ÷ 2 = 7  余 1
7   ÷ 2 = 3  余 1
3   ÷ 2 = 1  余 1
1   ÷ 2 = 0  余 1

从下往上读取余数:1111011,补全为8位:0B01111011

示例:十进制 100 → 八进制
100 ÷ 8 = 12 余 4
12  ÷ 8 = 1  余 4
1   ÷ 8 = 0  余 1

结果:0144

示例:十进制 123 → 十六进制
123 ÷ 16 = 7 余 11(B)
7   ÷ 16 = 0 余 7

结果:0x7b


3. 二进制与其他进制的快速转换

a. 二进制 → 八进制
  • 原理:3位二进制 = 1位八进制(因为 23=82^3 = 823=8
  • 方法:从右往左每3位一组,不足补0,每组转为八进制数
示例:
二进制:0B10100101011110011
分组:101 001 010 111 100 11(补0 → 011)
转换:5   1   2   7   4   3
结果:0512743

在这里插入图片描述

b. 二进制 → 十六进制
  • 原理:4位二进制 = 1位十六进制(因为 24=162^4 = 1624=16
  • 方法:从右往左每4位一组,不足补0,每组转为十六进制数
示例:
二进制:0B00010101001010101010
分组:0001 0101 0010 1010 1010
转换:1    5    2    A    A
结果:0x152AA

在这里插入图片描述


四、负数的表示(以二进制为例)

在计算机中,负数使用补码表示。

步骤:

  1. 求原码:正数的二进制表示
  2. 求反码:按位取反(符号位不变)
  3. 求补码:反码 + 1
示例:-100 的二进制表示
  1. 原码:100 = 01100100(假设8位)
  2. 反码:10011011
  3. 补码:10011100

所以,-100 的二进制补码表示为:0B10011100


五、总结

进制基数符号范围表示前缀特点
十进制100~9日常使用
二进制20,10B计算机基础
八进制80~70简化二进制
十六进制160~9, A~F0x内存地址、颜色代码

进制加减法

以下是对进制加减法相关内容的优化叙述,逻辑更清晰、结构更严谨:


进制基础与加减法运算规则

在计算机科学和编程中,理解不同进制及其运算规则是非常重要的基础知识。常见的进制包括二进制、八进制、十进制和十六进制。它们的核心区别在于所使用的数字范围和进位规则。


一、二进制(Binary)
  • 表示方式:使用两个数字 01 来表示数值。
  • 应用场景:计算机内部所有数据都以二进制形式存储和处理。
  • 加法规则:逢二进一。
    例如:1 + 1 = 10
  • 减法规则:借一当二。
    例如:10 - 1 = 1

在这里插入图片描述
在这里插入图片描述


二、八进制(Octal)
  • 表示方式:使用八个数字 07 来表示数值。
  • 加法规则:逢八进一。
    例如:7 + 1 = 10
  • 减法规则:借一当八。
    例如:10 - 1 = 7

在这里插入图片描述
在这里插入图片描述


三、十进制(Decimal)
  • 表示方式:使用十个数字 09 来表示数值。
  • 加法规则:逢十进一。
  • 减法规则:借一当十。

四、十六进制(Hexadecimal)
  • 表示方式:使用数字 09 和字母 AF 来表示数值。
    其中:
    • A = 10
    • B = 11
    • C = 12
    • D = 13
    • E = 14
    • F = 15
  • 字母说明:不区分大小写,ABCDEF 也可以写作 abcdef
  • 加法规则:逢十六进一。
    例如:F + 1 = 10
  • 减法规则:借一当十六。
    例如:10 - 1 = F

在这里插入图片描述
在这里插入图片描述


总结

不同进制的加减法遵循相同的逻辑:

  • 加法:当前位满“基数”就向前一位进一;
  • 减法:当前位不够减时,向高位借一,相当于借了“基数”。

掌握这些规则,有助于理解数据在计算机中的表示和处理方式,是学习编程和计算机系统的重要基础。

进制对照表

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90679.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90679.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/90679.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【安卓笔记】用MVC、MVP、MVVM来实现井字棋案例

0. 环境:电脑:Windows10Android Studio: 2024.3.2编程语言: JavaGradle version:8.11.1Compile Sdk Version:35Java 版本:Java111. 首先、简单实现井字棋的功能。功能拆解:1. 棋盘为3x32. 点击棋盘button&a…

【洛谷】单向链表、队列安排、约瑟夫问题(list相关算法题)

文章目录单向链表题目描述题目解析代码队列安排题目描述题目解析代码约瑟夫问题题目描述题目解析代码单向链表 题目描述 题目解析 这道题因为有大量的任意位置插入删除,所以肯定不能用数组,用链表是最合适的,而在算法竞赛通常都用静态链表&a…

当人机交互迈向新纪元:脑机接口与AR/VR/MR的狂飙之路

从手机到 “头盔”:交互终端的变革猜想​​在当今数字化时代,智能手机无疑是我们生活中不可或缺的一部分。它集通讯、娱乐、办公等多种功能于一身,成为了人们与外界交互的主要窗口。然而,随着科技的飞速发展,智能手机作…

InfluxDB HTTP API 接口调用详解(二)

实际应用案例演示 1. 数据写入案例 假设在一个物联网设备数据采集场景中,有多个传感器设备持续采集环境的温度和湿度数据。我们以 Python 语言为例,使用requests库来调用 InfluxDB 的 Write 接口将数据写入 InfluxDB。 首先,确保已经安装了…

世运会线上知识竞赛答题pk小程序怎么做

随着2025年成都世界运动会的来临,越来越多的企事业单位组织员工进行线上知识竞赛,那么答题PK小程序该怎么做,接下来我们来一一分析: 世运会线上知识竞赛答题pk小程序怎么做一、答题功能:支持多种题型,如选择…

Java毕业设计 | 基于微信小程序的家校互动作业管理系统(Spring Boot+Vue.js+uni-app+AI,附源码+文档)

Java毕业设计 | 基于微信小程序的家校互动作业管理系统(Spring BootVue.jsuni-app,附源码文档)🎯 毕业设计私人教练 专注计算机毕设辅导第 6 年,累计 1v1 带飞 800 同学顺利通关。从选题、开题、代码、论文到答辩&…

CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器

CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器 一、前言 由于 Jellyfin 的 GPL 协议和 Intel 的 media-driver (iHD) Linux 驱动(部分开源)在协议上不兼容的缘故,Jellyfin 官方的 Docker 镜像:jellyfin/jellyfin 并不包含 …

PyTorch武侠演义 第一卷:初入江湖 第4章:损失玉佩的评分风波

第一卷:初入江湖 第4章:损失玉佩的评分风波比武开幕 晨钟响彻山谷,PyTorch派三年一度的"模型比武大会"正式开始。各分舵弟子列队入场,林小码跟在Tensor大师身后,眼睛瞪得溜圆——只见: "卷积…

HttpServletRequestWrapper存储Request

HTTP请求的输入流只能被读取一次,再想获取就获取不到了,那有什么方法可以缓存呢,我们可以自定义一个HttpServletRequest,或者是想在请求参数中统一添加或删除参数也可以使用此类进行改造,然后通过过滤器继续向下流转。…

算法:数组part02: 209. 长度最小的子数组 + 59.螺旋矩阵II + 代码随想录补充58.区间和 + 44. 开发商购买土地

算法:数组part02: 209. 长度最小的子数组 59.螺旋矩阵II 代码随想录补充58.区间和 44. 开发商购买土地 209. 长度最小的子数组题目:https://leetcode.cn/problems/minimum-size-subarray-sum/description/ 文章讲解:https://programmercarl…

Spring 核心知识点梳理 1

目录 Spring Spring是什么? Spring中重要的模块 Spring中最重要的就是IOC(控制反转)和AOP(面向切面编程) 什么是IOC DI和IOC之间的区别 为什么要使用IOC呢? IOC的实现机制 什么是AOP Aop的核心概念 AOP的环绕方式 AOP发生的时期 AOP和OOP的…

Kafka运维实战 07 - kafka 三节点集群部署(混合模式)(KRaft 版本3.7.0)

目录环境准备主机准备补充说明JDK安装 (三台主机分别执行)下载jdkjdk安装kafka 部署(三台主机分别执行)kafka 下载kafka 版本号结构解析kafka 安装下载和解压安装包(3台主机都执行)配置 server.properties (KRaft 模式)192.168.37.10192.168.37.11192.16…

linux内核与GNU之间的联系和区别

要理解操作系统(如 GNU/Linux)的组成,需要明确 内核(Kernel) 和 GNU 工具链 各自的功能,以及它们如何协作构成完整的操作系统。以下是详细分析:1. 内核(Kernel)的功能 内…

文件包含学习总结

目录 漏洞简介 漏洞原理 漏洞分类 漏洞防御 漏洞简介 程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这种文件调用的过程一般被称为文件包含。程序开发人员一般希望代码更灵活&…

TQZC706开发板教程:创建PCIE项目

本例程基于zc706开发板,使用xdma核创建PCIE项目,最终实现插入主机可识别出Xilinx设备。在vivado中创建一个空的706项目。创建完成后添加IP核-->搜索xdma-->双击打开配置。添加XDMA核如下所示basic配置peic id中设置设备号等信息,这里保…

科技赋能景区生.态,负氧离子气象监测站筑牢清新防线

负氧离子气象监测站,如同景区空气质量的坚固防线,默默守护着每一寸土地的清新。​它以精准的监测能力为防线基石。借助 “吸入式电容收集法”,能敏锐捕捉空气中负氧离子的踪迹,精准测量其浓度,同时将温度、湿度、PM2.5…

AMD官网下载失败,不让账户登录下载

别使用163邮箱 使用QQ邮箱,然后用GPT生成一个外国,比如日本的地区信息填上去就可以下载了

Elasticsearch-8.17.0 centos7安装

下载链接 https://www.elastic.co/downloads/past-releases/elasticsearch-8-17-0 https://www.elastic.co/downloads/past-releases/logstash-8-17-0 https://www.elastic.co/cn/downloads/past-releases/kibana-8-17-0https://artifacts.elastic.co/downloads/elasticsearch/…

windows下SAS9.4软件下载与安装教程

SAS 9.4是SAS公司推出的一款功能强大的统计分析软件,广泛应用于数据分析、商业智能、预测分析、数据挖掘及统计建模等多个领域。数据处理与管理能力:SAS 9.4支持多种数据格式的导入导出,包括JSON、XML等,便于处理来自Web和API的数…

MyBatis-Plus极速开发指南

MyBatis-Plus简介MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,简化开发,提高效率。它提供了以下主要特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响强大的 …