C语言常见进制 (二进制、八进制、十进制、十六进制)详解

news2024/11/7 11:38:49

C语言常见进制的详解

  • 放在最前面的
  • 前言:
  • 1、分类
  • 2、二进制
      • (2.1)二进制的解释说明
      • (2.2)关于二进制的计算
      • (2.3) 二进制转换为八进制
      • (2.4) 二进制转换为十进制
  • 3、八进制
      • (3.1)八进制的解释说明及计算
      • (3.2) 八进制转换为二进制
      • (3.3)八进制化为十进制
  • 4、十进制
      • (4.1)十进制的解释说明
      • (4.2)十进制转二进制
  • 5、十六进制
      • (5.1)十六进制的解释说明
      • (5.2)十六进制转换为十进制
      • (5.3)十六进制要注意的
  • END

放在最前面的

🎈 🎈 我的CSDN主页:OTWOL的主页,欢迎!!!👋🏼👋🏼
🎉🎉我的C语言初阶合集:C语言初阶合集,希望能帮到你!!!😍 😍
👋🏼🎉🎊创作不易,欢迎大家留言、点赞加收藏!!! 🥳😁😍
在这里插入图片描述

前言:

本篇博客耗时三个多小时制作!!!
创作不易,欢迎大家留言、点赞加收藏!!!

1、分类

分为:二进制、八进制、十进制、十六进制

其中 数字 0、1 组成的数是 二进制

  • C语言中的表达

在C语言里,整数有三种表示形式:十进制,八进制,十六进制。
其中以数字 0开头,由 0 ~ 7 组成的数是 八进制
除表示正负的符号外,以1 ~ 9 开头,由 0 ~ 9 组成是 十进制
以 0X 或 0x 开头(是数字 0),由 A ~ F 或 a ~ f 组成是 十六进制

1、十进制:除表示正负的符号外,以1 ~ 9开头,由0 ~ 9组成。
如:128,+234,-278。
2、八进制:以0开头,由0~7组成的数。
如:0126, 050000.
3、十六进制:以0X或0x开头,由09,AF或a~f 组成。
如: 0x12A, 0x5a000。

2、二进制

(2.1)二进制的解释说明

二进制:二进制(binary),是在数学和数字电路中以 2 为基数的记数系统,是以 2 为基数代表系统的二进位制。
在这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 。

例子:


(2.2)关于二进制的计算

二进制数据也是采用位置计数法,其位权是以 2 为底的幂。
例如二进制数据 110,
逢 2 进 1,其权的大小顺序为2²、2¹、2º 。

如图:


(2.3) 二进制转换为八进制

整数部分最低有效位 开始,以 3位一组,最高有效位不足 3位时以 0补齐,每一组 均可转换成 一个八进制的值,转换完毕就是 八进制的整数。

  • 例子:

(2.4) 二进制转换为十进制

方法:“按权展开求和”,该方法的具体步骤是先将 二进制的数写成加权系数展开式,而后根据 十进制的加法规则进行求和
例子:

3、八进制

(3.1)八进制的解释说明及计算

以数字 0开头,由0~7组成的数是 八进制
例子:

八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用 0,1,2,3,4,5,6,7八个数字,逢 八进1。
例子:

(3.2) 八进制转换为二进制

一些编程语言中常常以数字 0开始表明该数字是 八进制。
八进制的数和二进制数可以按位对应(八进制 一位对应二进制 三位),因此常应用在计算机语言中。
例子:
规则:按照顺序,每 1位 八进制数 改写成等值的 3位 二进制数,次序不变。

(3.3)八进制化为十进制

例:将八进制数12转换成十进制数

4、十进制

(4.1)十进制的解释说明

十进制是 除表示正负的符号外,以1 ~ 9开头,由0 ~ 9组成。
例子:

十进制(Decimal System)是一种计数方法,即满十进一,
第一位位权为 10^0,第二位 10^1 ,第N位 10^(N-1),
该数的数值等于每位的(数值 × 位权)之和。

(4.2)十进制转二进制

  • 整数部分

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
具体做法是:(除2取余
用 2 去除 十进制整数,可以得到一个 商 和 余数;
再用 2 去除 商,又会得到一个 商 和 余数,
如此进行,直到商为零时为止
然后,(逆序排列
得到的余数作为二进制数的 低位有效位
得到的余数作为二进制数的 高位有效位,依次排列起来。
高位不够,补 0

5、十六进制

(5.1)十六进制的解释说明

以 0X 或 0x 开头(是数字 0) 的是十六进制
例子:

十六进制(简写为 hex 或 下标16 )
是一种基数为16的计数系统,是一种逢16进1的进位制。
通常用数字0、1、2、3、4、5、6、7、8、9
和字母 A、B、C、D、E、F(a、b、c、d、e、f)表示,
其中: A ~ F 表示 10~15,这些称作 十六进制数字

(5.2)十六进制转换为十进制

十进制数57,在16进制写作39。

(5.3)十六进制要注意的

如今的16进制 普遍应用在计算机领域,这是因为将4个比特位(Bit)化成单独的16进制数字不太困难。
1字节(Byte)可以表示成 2个连续的16进制数字。

可是,这种混合表示法容易令人混淆,因此需要一些字首、字尾或下标来显示
C语言、C++、Shell、Python、Java语言及其他相近的语言使用字首“0x”,
例如“0x5A3”。
开头的“0”令解析器更易辨认数,而“x”则代表十六进制(就如“O”代表八进制)。
在“0x”中的“x”可以大写或小写

END

“亲爱的读者们,文章到这里就结束啦😃。
不知道你对本文的内容有什么看法呢🧐?
是赞同还是有不同的见解🤔?
或者在阅读过程中有没有遇到什么疑问❓
都欢迎在评论区留言告诉我哦,期待与你的互动交流🤗!”

每天都在学习的路上!
On The Way Of Learning

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在 .NET 8 Web API 中实现 Entity Framework 的 Code First 方法

本次介绍分为3篇文章: 1:.Net 8 Web API CRUD 操作.Net 8 Web API CRUD 操作-CSDN博客 2:在 .Net 8 API 中实现 Entity Framework 的 Code First 方法https://blog.csdn.net/hefeng_aspnet/article/details/143229912 3:.NET …

初识动态规划(由浅入深)

🤓 动态规划入门与进阶指南 📘 动态规划(Dynamic Programming, DP)是一种非常经典的📐算法方法,特别适合用来解决那些有大量重复计算的问题🌀。它可以将复杂的问题拆分为小问题🧩&a…

【STM32】SD卡

(一)常用卡的认识 在学习这个内容之前,作为生活小白的我对于SD卡、TF卡、SIM卡毫无了解,晕头转向。 SD卡:Secure Digital Card的英文缩写,直译就是“安全数字卡”。一般用于大一些的电子设备比如:电脑、数码相机、AV…

《JVM第5课》虚拟机栈

无痛快速学习入门JVM,欢迎订阅本免费专栏 Java虚拟机栈(Java Virtual Machine Stack,简称JVM栈,又称Java方法栈)是 JVM 运行时数据区的一部分,主要用于支持Java方法的执行。每当一个新线程被创建时&#xf…

Java Executor RunnableScheduledFuture 总结

前言 相关系列 《Java & Executor & 目录》《Java & Executor & RunnableScheduledFuture & 源码》《Java & Executor & RunnableScheduledFuture & 总结》《Java & Executor & RunnableScheduledFuture & 问题》 涉及内容 《…

软考(中级-软件设计师)数据库篇(1101)

第6章 数据库系统基础知识 一、基本概念 1、数据库 数据库(Database ,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和扩展…

zynq PS端跑Linux响应中断

这篇文章主要是讲述如何在Zynq的PS上跑Linux启动IRQ,环境为vivado2019.1,petalinux2019.1 ubuntu20.04,本人初学者,欢迎批评指正 1. Vivado硬件设计 确保自定义IP的中断信号通过 IRQ_F2P 连接到PS端。在开始Petalinux配置之前&a…

R语言贝叶斯

原文链接:R语言贝叶斯进阶:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247625527&idx8&snba4e50376befd94022519152609ee8d0&chksmfa8daad0cdfa…

qt QRadioButton详解

QRadioButton 是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选按钮通常呈现给用户一个“多选一”的选择,即在一组单选按钮中,一次只能选中一个按钮。 重要方法 QRadioButton(QWidget…

webm格式怎么转换成mp4?这9种转换方法你肯定能够学会!

webm格式怎么转换成mp4?WebM,作为一种新兴的视频文件格式,虽然带着革新性的光芒,在视频压缩效率和播放流畅性上表现出色,却也面临着几个重要的挑战,这些问题直接影响了用户的体验,首先&#xff…

HTML 语法规范全解:构建清晰、兼容性强的网页基础

文章目录 一、代码注释1.1 使用注释的主要目的1.2 使用建议二、标签的使用2.1 开始标签和结束标签2.2 自闭合标签2.3 标签的嵌套2.4 标签的有效性三、属性四、缩进与格式4.1 一致的缩进4.2 元素单独占用一行4.3 嵌套元素的缩进4.4 避免冗长的行五、字符编码六、小结在开发 HTML…

10 P1094 [NOIP2007 普及组] 纪念品分组

题目&#xff1a; 代码&#xff1a; #include<iostream> using namespace std; # define M 100 #include<algorithm> int sa[100005];int main() {int w,n;cin>>w>>n;for(int i1;i<n;i){cin>>sa[i];}sort(sa1,sa1n);int l1;int rn;int count…

LeetCode.冗余连接(并查集以及广度优先搜索)

684.冗余连接| 传送门&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1&#xff5e;n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间&#xff0c;且这条附加的边不属于树中…

一文彻底整明白,基于Ollama工具的LLM大语言模型Web可视化对话机器人部署指南

在上一篇博文中&#xff0c;我们在本地部署了Llama 3 8B参数大模型&#xff0c;并用 Python 写了一个控制台对话客户端&#xff0c;基本能愉快的与 Llama 大模型对话聊天了。但控制台总归太技术化&#xff0c;体验不是很友好&#xff0c;我们希望能有个类似 ChatGPT 那样的 Web…

BES2600WM---HiLink RM56 EVK

0 Preface/Foreword 1 环境搭建 1.1 安装依赖工具 sudo apt-get install build-essential gcc g make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils…

Leetcode21:合并两个有效链表

原题地址&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示…

51c嵌入式~IO合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12383193 一、单片机通信数据接收解析方法 前阵子一朋友使用单片机与某外设进行通信时&#xff0c;外设返回的是一堆格式如下的数据&#xff1a; AA AA 04 80 02 00 02 7B AA AA 04 80 02 00 08 75 AA AA 04 80 02 00 9B E2…

java或c#是如何对数据库的表字段加密的处理的?

对于表格数据的加密处理&#xff0c;通常涉及到对数据库中存储的数据进行加密&#xff0c;以保护敏感信息。 Java示例&#xff08;使用AES算法加密数据库表数据&#xff09; 首先&#xff0c;你需要一个数据库连接&#xff0c;这里假设你使用的是JDBC连接MySQL数据库。以下是…

Android Studio Dolphin 下载、安装与配置教程

文章目录 Android Studio Dolphin简介一、核心特性二、新增功能三、用户体验优化 一&#xff0c;下载百度网盘迅雷云盘 二&#xff0c;安装三&#xff0c;下载组件四&#xff0c;添加SDK五&#xff0c;创建项目六&#xff0c;安装 Device模拟器运行项目 Android Studio Dolphin…

java开发等一些问题,持续更新

微服务和单服务的区别 微服务&#xff08;Microservices&#xff09;和单体服务&#xff08;Monolithic Architecture&#xff09;是两种不同的软件架构风格&#xff0c;各有其特点和适用场景。 微服务架构&#xff1a; 模块化&#xff1a; 微服务架构将应用程序分解为一系列小…