进制之间的转换

文章目录

  • 编译过程
  • 进制转换
      • 1、进制的概念
      • 1.1 二进制
      • 1.2 八进制
      • 1.3 十六进制
  • 进制在程序中的表现方式
  • 十进制转二进制
      • 将十进制转换成二进制(除2反序取余法)
      • 二进制转十进制(权值法)
  • 八进制转十进制
      • 将十进制转换成八进制(除8反序取余法)
      • 八进制转十进制(权值法)
  • 十六进制转十进制
      • 将十进制转换成十六进制(除16反序取余法)
      • 十六进制转十进制(权值法)
  • 快速转换8421法则
  • 二进制快速转换八进制
  • 二进制快速转换十六进制
      • 16进制快速转换2进制
  • 浮点型数据转换成2进制

编译过程

1   gcc 源码文件.c -o 可执行文件.exe			-o生产exehelloWorld.c -o hell.exe  1、预处理  宏定义展开、头文件展开、删除注释gcc -E 源码文件 -o 生成文件.i       //gcc -E helloworld.c -o hello.i	.i编译文件
2、编译	检查语法,将文件转成汇编文件gcc -S 预处理生成的.i文件 -o 生成文件.s   //gcc -S hello.i -o hello.s    .s汇编文件
3、汇编	将汇编文件转成二进制文件gcc -c hello.s -o hello.o		//
4、链接	将C语言链接库链接到程序中gcc hello.o -o hello.exe  

进制转换

1、进制的概念

进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

1.1 二进制

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。

1.2 八进制

八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。

1.3 十六进制

十六进制(英文名称:Hexadecimal),同我们日常生活中的表示法不一样,它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9,A-F对应10-15。

进制在程序中的表现方式

十进制以正常数字1-9开头,如123
八进制以数字0开头,如0123
十六进制以0x开头,如0x123
二进制C语言不能直接书写二进制数
二进制八进制十六进制十进制
0000
1111
10222
11333
100444
101555
110666
111777
10001088
10011199
101012A10
101113B11
110014C12
110115D13
111016E14
111117F15
10000181016

十进制转二进制

将十进制转换成二进制(除2反序取余法)

在这里插入图片描述

二进制转十进制(权值法)

从二进制的末尾依次乘以2的n次幂(n是从0 开始的)

小提示: 任何数的0次幂都等于1

​ 任何数的1次幂都等于本身

十进制的 123 使用上面的方法(除2 反序取余法)得到的二进制为1111011

将1111011 转成10进制

1 ∗ 2 0 + 1 ∗ 2 1 + 0 ∗ 2 2 + 1 ∗ 2 3 + 1 ∗ 2 4 + 1 ∗ 2 5 + 1 ∗ 2 6 = 123 1*2^0 + 1*2^1 +0*2^2+1*2^3+1*2^4+1*2^5+1*2^6=123 120+121+022+123+124+125+126=123

八进制转十进制

将十进制转换成八进制(除8反序取余法)

在这里插入图片描述

八进制转十进制(权值法)

从八进制的末尾依次乘以8的n次幂(n是从0 开始的)
3 ∗ 8 0 + 7 ∗ 8 1 + 1 ∗ 8 2 = 123 3*8^0+7*8^1+1*8^2 = 123 380+781+182=123

十六进制转十进制

将十进制转换成十六进制(除16反序取余法)

在这里插入图片描述

十六进制转十进制(权值法)

从十六进制的末尾依次乘以16的n次幂(n是从0 开始的)
11 ∗ 1 6 0 + 7 ∗ 1 6 1 = 123 11*16^0+7*16^1=123 11160+7161=123

快速转换8421法则

在对应的位置填1

4096204810245121286432168421二进制结果
1111011十进制的1231111011
1010010016410100100
11111011000200811111011000
11111101000202411111101000

二进制快速转换八进制

八进制的数和二进制数可以按位对应(八进制一位对应二进制三位)。

例:

将二进制从末尾3位一隔
十进制: 123
二进制: 1111011
八进制: 011   按照8431 法则  011 = 3111		按照8431 法则  111 = 71		按照8431 法则  011 = 1
转换结果为173   同理: 八进制转换二进制时也是将八进制每一位的值转换成32进制就可以了1731-------17-------1113-------011二进制结果就是: 1111011

二进制快速转换十六进制

十六进制的数和二进制数可以按位对应(十六进制一位对应二进制四位)。

例:

将二进制从末尾3位一隔
十进制: 123
二进制: 1111011
十六进制: 1011   按照8431 法则  011 = b0111		按照8431 法则  111 = 7
转换结果为7b

16进制快速转换2进制

7B
7----------111
B----------1011结果: 1111011

浮点型数据转换成2进制

十进制的小数转换成二进制:小数部分和2相乘,取整数,不足1取0,每次相乘都是小数部分,顺序看取整后的数就是转化后的结果。(小数位有多少位就乘以多少次) ;从上往下取值;

将小数部分依次乘以2 如果结果中整数部分值为1 取值为1 如果为0 值
为0 小数位数有多少位 乘多少次
double a = 123.4567;0.4567*2
0.9134		0*2
1.8268		1
0.8268    *2		
1.6536		1
0.6536*2
1.3072		10.4567 = 0111

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

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

相关文章

医药行业五大难题深度剖析:CRM解决方案助力突围

医疗行业关系着民生、经济乃至战备,是国民经济的重要组成部分。虽然近20年来我国医疗行业年均增长率维持在15%之上,但行业发展仍存在诸多问题。引进CRM管理系统可能是一个行之有效的解决方法。文中将为您整理医疗行业目前的五大挑战,以及CRM如…

Android Termux系统安装openssh实现公网使用SFTP远程访问

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了…

Processing基本形状内容和实例

一、Processing的基本形状内容和实例 1.Processing有一组专门绘制基本图形得图案。像线条这样的基本图形可以被连接起来创建更为复杂得形状,例如一片叶子或者一张脸。 2.为了绘制一条直线,我们需要四个参数,两个用于确定初始位置,…

判断连续数据同意特征的方法:插旗法

bool isMonotonic(int* nums, int numsSize) {int flag 2;for (int i 1; i < numsSize; i) {if (nums[i-1] > nums[i]) {if (flag 0)return false;flag 1;}else if (nums[i-1] < nums[i]) {if (flag 1)return false;flag 0;}}return true; }此代码较为简单&…

Sora:AI视频生成的新机遇与挑战

随着科技的飞速进步&#xff0c;人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;技术已经深入渗透到社会的各个领域。其中&#xff0c;Sora这类基于AI的视频生成工具因其高度逼真的生成能力而备受瞩目。然而&#xff0c;正如一枚硬币有两面&#xff0…

nVisual+AI实现综合布线智能化运维管理

传统的综合布线系统依据TIA-606规范在配线架、跳线、面板上都粘贴了标签&#xff0c;标签作为一个综合布线项目中元器件的唯一标识&#xff0c;对综合布线日常运维管理过程中查询连接关系、定位设备位置至关重要&#xff0c;但标签所能记录的信息毕竟有限&#xff0c;因此可视化…

docker的简单使用

在一些进行使用靶场或者工具的时候&#xff0c;我们可以用docker在线拉取&#xff0c;就可以省去手动搭建靶场的过程 一、docker的配置 因为docker是默认从docker的官网进行拉取&#xff0c;所以拉取经常速度很慢或者失败&#xff0c;我们先要进行一下配置&#xff0c;让他优…

让照片说话唱歌的软件,盘点这3款!

在数字时代&#xff0c;我们总是渴望找到新的方式来表达自我、分享生活。近年来&#xff0c;随着人工智能和图像处理技术的飞速发展&#xff0c;一种新型的软件应运而生&#xff0c;它们能够让照片“说话”甚至“唱歌”&#xff0c;给我们的生活带来了无限乐趣和创意空间。那么…

探索SRM软件:了解SRM在企业中的作用

作为供应商&#xff0c;对于SRM软件并不陌生&#xff0c;但对于刚刚进入采购行业的新手来说&#xff0c;就可能不太了解这个软件的作用了。现在让我们来科普一下&#xff1a;通常&#xff0c;我们将SRM称为供应商关系管理&#xff0c;其全称为Supplier Relationship Management…

ICVQUANTUMCHINA报告:《2024全球量子通信与安全产业发展展望》发布

2月26日&#xff0c;《2024全球量子通信与安全产业发展展望》的中文版报告通过光子盒官方平台发布&#xff0c;英文版报告通过ICV官方平台发布。 英文版报告获取地址&#xff1a; https://www.icvtank.com/newsinfo/898270.html 亮点 摘要 - 量子通信与安全产业报告呈现了2023…

zerotier局域网组建 笔记

背景 家里的windows电脑&#xff1a;home-win10-pc 家里的windows电脑上vmware运行的ubuntu虚拟机&#xff1a;home-ubuntu-vm 公司的mac电脑&#xff1a;company-mac-pc 由于xxx需求&#xff0c;需要组建一个局域网&#xff0c;前东家都是用的zerotier&#xff0c;出于路径依…

FreeRTOS操作系统学习——任务管理

任务概念 在FreeRTOS中&#xff0c;一个任务相当于一个线程&#xff0c;可以有很多的任务&#xff0c;每个人任务可以设置不同的优先级。相同优先级的任务轮流使用CPU&#xff0c;高优先级的任务可以一直使用CPU&#xff0c;直到主动放弃&#xff0c;低级的任务才有被执行的机…

国产蓝鹏测控测径仪如何?

随着国力增强&#xff0c;中国制造品质提升&#xff0c;不仅仅是国外更多人认可&#xff0c;国内对国产制品也接受良好&#xff0c;测径仪这种智能测量设备&#xff0c;很多国内外厂家也在用国产设备。 测径仪厂家 蓝鹏测控作为智能几何尺寸测量仪生产厂家&#xff0c;已有10多…

MMdetection3D-v1.1.0rc5安装教程

文章目录 前言安装步骤1.创建环境并运行2.安装torch3.安装mmcv-full3.安装mmcls、mmsegmentation、mmdet4.源码安装mmdet3d5.补充测试效果 pip list汇总 前言 相信大家在开始学习mmdet3d时都会碰到环境安装失败的问题&#xff0c;特别是安装低版本mmdet3d时&#xff0c;由于官…

Spring框架Bean对象的五个作用域

一、前言&#xff1a;Bean对象简介 在Spring项目中&#xff0c;那些由Spring IoC容器所管理的对象&#xff0c;称为bean。简单地讲&#xff0c;bean就是由Spring容器初始化、装配及管理的对象&#xff0c;除此之外&#xff0c;bean就与应用程序中的其他对象没有什么区别了。 而…

C++初阶:初识C++

目录 1. 前言&#xff1a;C 与 C语言2. C对于C语言语法的完善与补充2.1 命名冲突与命名空间2.1.1 命名空间的定义2.1.2 调用方式 2.3 补充&#xff1a;流的概念2.4 缺省参数2.4.1 缺省参数的使用 2.5 函数重载2.5.1 什么是函数重载2.5.2 函数重载的使用2.5.3 特殊情况&#xff…

SpringBoot集成JSP和war包部署到Tomcat

SpringBoot集成JSP 加依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot…

MedSAM 项目排坑记录

MedSAM 项目排坑记录 任务排坑过程配置python环境测试构建docker模型训练数据预处理 单GPU训练最后推理 任务 做一个课程大作业&#xff0c;需要进行CVPR2024年医疗影像分割赛题的打榜&#xff08;CVPR 2024: SEGMENT ANYTHING IN MEDICAL IMAGES ON LAPTOP&#xff09;。看到…

docker离线搭建仓库

要在Docker中搭建本地仓库&#xff0c;可以按照以下步骤进行操作&#xff1a; 首先安装 Docker。根据不同的操作系统选择合适的版本并完成安装过程。打开命令行工具&#xff08;如Terminal或PowerShell&#xff09;&#xff0c;运行以下命令来创建一个新的容器并将其设置为本地…

vulhub中ThinkPHP 多语言本地文件包含漏洞复现

ThinkPHP是一个在中国使用较多的PHP框架。在其6.0.13版本及以前&#xff0c;存在一处本地文件包含漏洞。当多语言特性被开启时&#xff0c;攻击者可以使用lang参数来包含任意PHP文件。 虽然只能包含本地PHP文件&#xff0c;但在开启了register_argc_argv且安装了pcel/pear的环…