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

本文主要是介绍###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 

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

 

 

 

 

 

 

 

 

这篇关于###C语言程序设计-----C语言学习(12)#进制间转换,十进制,二进制,八进制,十六进制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/703318

相关文章

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和