###C语言程序设计-----C语言学习(12)#进制间转换,十进制,二进制,八进制,十六进制

 

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。

 

 

 

  计算机处理的所有信息都以二进制形式表示,即数据的存储和计算都采用二进制,同时对于计算机系统所识别的也主要为二进制,如:单片机系统等,所以今天我们分享二进制,八进制,十进制,十六进制,以及进制间的转换。

 

目录

一.  进制的简单介绍 

1.二进制

2.八进制 

3.十进制 

4.十六进制

二.  进制间转换

1.其他进制转十进制 

(1)二进制转十进制

(2)八进制转十进制 

(3)十六进制转十进制 

2.十进制转其他进制 

(1)十进制转二进制 

(2)十进制转八进制

(3)十进制转十六进制 


 

一.  进制的简单介绍 

 

  进制是一种数学计数系统,用于表示数值。在计算机科学和数字电子中,进制尤为重要,因为计算机只能理解和处理二进制数据。

 

1.二进制

  二进制是一种基础的数字系统,它只有两个数码0和1,可以表示任何数字信息哦。

 

2.八进制 

  八进制是一种以8为基数的计数法,它采用0到7这八个数字,并且逢八进一。在计算机科学和电子技术中,八进制常用于表示和处理数字、数据和指令。比如,在计算机系统中,文件和目录的权限通常以八进制形式表示。此外,八进制也常用于UNIX时间戳、文件和存储容量、POSIX文件权限、系统调用操作码以及文件和目录索引节点(iNode)的表示。

  与二进制相比,八进制可以减少数字的长度和复杂度,因为每一位八进制数可以对应三位二进制数。这使得八进制在计算机科学中成为一种重要的数制系统。

 

3.十进制 

  十进制是我们日常生活中最为熟悉和常用的一种数制系统。它基于10个数字(0-9),并且遵循“逢十进一”的规则。在十进制中,每一位数字的权重是10的幂次,从右向左依次增加。例如,数字“123”可以表示为1×10^2 + 2×10^1 + 3×10^0。

  十进制数的特点是直观易懂、易于理解和使用。我们在进行数字的四则运算、货币计算、单位换算以及各种数学应用时,通常都使用十进制数。此外,十进制数也可以方便地与其他进制数进行转换,如二进制、八进制和十六进制等。

  与其他进制数相比,十进制数在人类生活和科学计算中占据重要地位。它不仅是我们日常生活和工作中使用的主要数制系统,也是计算机科学和电子技术中不可或缺的一部分。

 

4.十六进制

  十六进制(Hexadecimal)是一种基数为16的计数系统,它采用0到9和A到F这16个数字来表示数值。其中,A到F代表10到15的十进制数。十六进制数的特点是逢16进1,这意味着当某一位的数字达到16时,它会向前一位进位。

  在计算机科学和电子技术中,十六进制是一种非常重要的数制系统。由于它使用16个数字来表示数值,因此它比二进制和八进制更加紧凑,能够减少数字的长度和复杂度。这使得十六进制成为表示二进制数据的一种有效方式,特别是在低级编程、内存和存储器管理、网络协议和通信等领域中广泛应用。

  十六进制数的表示方式非常直观,可以通过将每四位二进制数转换为一位十六进制数来实现。这种转换方式使得大整数和二进制数据在十六进制下更加易读和处理。此外,十六进制与二进制之间可以方便地进行转换,这也使得它在计算机科学中成为一种重要的数制系统。

 

二.  进制间转换

 

1.其他进制转十进制 

(1)二进制转十进制

例如对于一个十进制数235,它由个位,十位,百位组成,所以235可以写成2*10^2+3*10^1+5*10^0

则同理对于一个二进制数1011可以写成

1*2^3+0*2^2+1*2^1+1*2^0    得出转换为十进制11

 

(2)八进制转十进制 

首先八进制由01234567来表示,对于八进制数277可写成 

2*8^2+7*8^1+7*8^0        得出转换为十进制数191

 

(3)十六进制转十进制 

首先十六进制由0123456789ABCDEF组成,其中ABCDEF分别对应10,11,12,13,14,15,则对于十六进制数2AE可写成

2*16^2+10*16^1+14*16^0             得出转换十进制数686

 

2.十进制转其他进制 

(1)十进制转二进制 

十进制转其他进制可采用连除法,如十进制数29

29/2          余1            

14/2          余0

7/2            余1

3/2            余1

1/2            余1             (一直连除到结果为0,只有余数为止)

0

此时余数从下到上排列得到二进制数11101

 

(2)十进制转八进制

例如十进制数900

900/8           余4

112/8           余0

14/8             余6

1/8               余1

0                          此时得到转换得八进制数1604

 

(3)十进制转十六进制 

例如十进制数2717

2717/16              余13

169/16                余9

10/16                  余10

0                      此时通过转换为十六进制为A9D 

感谢老铁的浏览,希望老铁可以一键三连加个关注,您的支持和鼓励是我前进的动力,后续会分享更多学习编程的内容。

 

 

 

 

 

 

 

 

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

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

相关文章

containerd中文翻译系列(二十二)运行时v2

Runtime v2 为运行时作者集成 containerd 引入了一级 shim API。 containerd 作为守护进程,并不直接启动容器。相反,它充当更高级别的管理器 或枢纽的作用,以协调容器和内容的活动。被称作 "运行时"的程序真正来启动、停止和管理容…

LeetCode--代码详解 33.搜索旋转排序数组

33.搜索旋转排序数组 题目 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums…

集合进阶(双列集合、HashMap、LinkedHashMap、TreeMap、Collections)

目录 一、双列集合 1、双列集合的特点 2、双列集合的常见API 3、Map的遍历方式 3.1第一种遍历方式&#xff1a;键找值&#xff08;keySet&#xff09; 3.2第二种遍历方式&#xff1a;键值对&#xff08;entrySet&#xff09;Entry&#xff1a;键值对对象 3.3第三种遍历方…

Prometheus服务器、Prometheus被监控端、Grafana、监控MySQL数据库、自动发现概述、配置自动发现、Alertmanager

目录 Prometheus概述 部署Prometheus服务器 环境说明&#xff1a; 配置时间 安装Prometheus服务器 添加被监控端 部署通用的监控exporter Grafana 概述 部署Grafana 展示node1的监控信息 监控MySQL数据库 配置MySQL 配置mysql exporter 配置mysql exporter 配置…

前端架构: 简易版脚手架开发

开发一个简易版脚手架 将脚手架命名为: xyzcli, 这个名称比较随意&#xff0c;截止在目前&#xff0c;我看到npm上没有这个包&#xff0c;尽量避免重名初始化 $ mkdir xyzcli$ cd xyzcli$ npm init -y 新建 bin/index.js#!/usr/bin/env nodeconsole.log(xyzcli)回到 package.j…

【java】11:IDEA常用快捷键+包

1. IDEA 常用快捷键 删除当前行, 默认是 ctrl Y 自己配置 ctrl d复制当前行, 自己配置 ctrl alt 向下光标补全代码 alt /添加注释和取消注释 ctrl / 【第一次是添加注释&#xff0c;第二次是取消注释】导入该行需要的类 先配置 auto import , 然后使用 altenter 即可快速…

Stable Diffusion 模型下载:majicMIX sombre 麦橘唯美

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十

Matplotlib初探:认识数据可视化与Matplotlib

Matplotlib初探&#xff1a;认识数据可视化与Matplotlib Fig.1 利用Matplotlib进行数据可视化( 可视化代码见文末) &#x1f335;文章目录&#x1f335; &#x1f333;引言&#x1f333;&#x1f333;一、数据可视化简介&#x1f333;&#x1f333;二、Matplotlib库简介&#x…

c语言_实现类class的功能 实例

c语言_实现类class的功能 实例 1.需求与背景2.实例1.类的头文件 class_A.h2.类的实现 class_A.c3.引用4.编译与运行 3.总结 1.需求与背景 使用C , python语言久了, 发现 类 class写代码逻辑更方便, 简洁. 封装的API更加易用; 内核代码中, 也经常看到类似类的封装. 自己尝试实现…

汉服租赁网站:Java技术的文化应用

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

K8S系列文章之 [Alpine基础环境配置]

用户手册&#xff1a;Alpine User Handbook 官方WIKI&#xff1a;Alpine Linux WIKI 安装 安装的实际逻辑是通过 setup-alpine​ 脚本去调用其他功能的脚本进行配置&#xff0c;可以通过 vi 查看脚本。如果某个部分安装失败&#xff0c;可退出后单独再次执行。通过镜像文件&a…

FL Studio版本升级-FL Studio怎么升级-FL Studio升级方案

已经是新年2024年了&#xff0c;但是但是依然有很多朋友还在用FL Studio12又或者FL Studio20&#xff0c;今天这篇文章教大家如何升级FL Studio21 FL Studio 21是Image Line公司开发的音乐编曲软件&#xff0c;除了软件以外&#xff0c;我们还提供了FL Studio的升级服务&#…

树莓派与vnc的错误 树莓派自启vnc虚拟桌面

0.低分辨率屏幕可以临时改sudo nano /boot/config.txt里面的 #framebuffer_width1920 #framebuffer_height1280 改成高分辨率之后去除# 临时用vnc大屏操作 1.vnc一直无法启动vncserver-virtual -RandR1920*1280 删除xstartup.custom和用xstartup.save复原xstartup内容 就可…

NeRF——静态的快速扫描方法

NeRF&#xff08;Neural Radiance Fields&#xff09;是一种用于三维场景重建和渲染的深度学习方法&#xff0c;它利用神经网络来表示场景的连续体积密度和颜色信息。通过从一组稀疏的二维图像中重建高质量的三维场景&#xff0c;并能从任意视角生成逼真的图像&#xff0c;NeRF…

使用 MinIO 超级充电 TileDB 引擎

MinIO 是一个强大的主要 TileDB 后端&#xff0c;因为两者都是为性能和规模而构建的。MinIO 是一个单一的 Go 二进制文件&#xff0c;可以在许多不同类型的云和本地环境中启动。它非常轻量级&#xff0c;但也具有复制和加密等功能&#xff0c;并且提供与各种应用程序的集成。Mi…

牛客周赛 Round 32 E.小红的回文数【挖掘性质+哈希前缀和】

原题链接&#xff1a;https://ac.nowcoder.com/acm/contest/75174/E 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld 题目描述 小红定义一个整数是“好数”&#xff0c;当且仅当该…

java学习07---综合练习

飞机票 1.需求: 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。 按照如下规则计算机票价格&#xff1a;旺季&#xff08;5-10月&#xff09;头等舱9折&#xff0c;经济舱8.5折&#xff0c;淡季&#xff08;11月到来年4月&#xff09;头等舱7…

Linux命令-blockdev命令(从命令行调用区块设备控制程序)

说明 blockdev命令 在命令调用“ioxtls”函数&#xff0c;以实现对设备的控制。 语法 blockdev(选项)(参数)选项 -V&#xff1a;打印版本号并退出&#xff1b; -q&#xff1a;安静模式&#xff1b; -v&#xff1a;详细信息模式&#xff1b; --setro&#xff1a;只读&#x…

浅谈jmeter性能测试步骤入门

一、Jmeter简介 1 概述 jmeter是一个软件&#xff0c;使负载测试或业绩为导向的业务&#xff08;功能&#xff09;测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 Apache JServ&#xff08;现在称为如 Apache Tomca…

以谷歌浏览器为例 讲述 JavaScript 断点调试操作用法

今天来说个比较实用的东西 用浏览器开发者工具 对 javaScript代码进行调试 我们先创建一个index.html 编写代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&…