进制之间的转换

文章目录

  • 编译过程
  • 进制转换
      • 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…

排队方式——栈

Description n个人手拿5元&#xff0c;n个人手拿10元&#xff0c;他们去排队买东西&#xff0c;东西价值5元&#xff0c;老板没有零钱&#xff08;老板必须用收取的5元钞票给支付10元的顾客找零钱&#xff09;&#xff0c;现给出一种排列方式&#xff0c;判断是否合理&#xf…

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;出于路径依…

C++中GetPrivateProfileInt用法详解

GetPrivateProfileInt是C中一个用于读取INI文件中指定节(section)和键(key)的整型值的函数。 函数原型&#xff1a; UINT GetPrivateProfileInt( LPCTSTR lpAppName, LPCTSTR lpKeyName, INT nDefault, LPCTSTR lpFileName ); 参数说明&#xff1a; lpAppName&#xff1a;IN…

uniapp版微信小程序授权登录

请求接口code换取openid信息: wxlogin() {let that = thislet token = uni.getStorageSync(weToken)console.log(token)if (token) {wx.reLaunch({url: "/pages/tarbar"})} else {uni.login({provider: weixin, //使用微信登录success: function(res) {const code …

虾皮shopee API在库存管理中的重要性

虾皮&#xff08;Shopee&#xff09;API在库存管理中扮演着至关重要的角色。通过使用Shopee API&#xff0c;商家可以自动化地管理其在线商店的库存&#xff0c;确保库存数据的准确性和实时性。以下是一些虾皮API在库存管理中的重要性&#xff0c;并附有相关代码示例&#xff1…

openssl3.2 - exp - AES-256-GCM

文章目录 openssl3.2 - exp - AES-256-GCM概述AES-256-GCM加密入参AES-256-GCM加密出参AES-256-GCM解密入参AES-256-GCM解密出参笔记END openssl3.2 - exp - AES-256-GCM 概述 工程中要用到对称加密, 没得选, 要用AES256. 在openssl3.2中, AES256加解密的种类有好多种. 查了资…

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

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

深入解析Java 8中的Optional类和Stream API

摘要&#xff1a; Java 8作为Java语言的一个重要版本&#xff0c;引入了许多新特性和改进。其中&#xff0c;Optional类和Stream API是两个非常受欢迎的特性&#xff0c;它们为Java带来了函数式编程的能力。本文将深入探讨Java 8中的Optional类和Stream API&#xff0c;通过两个…

SpringBoot集成数据库界的版本控制工具flyway

Flyway 就是一款数据库界的版本控制工具&#xff0c;它可以记录数据库的变化记录。统一管理所有的 SQL 脚本变更&#xff0c;在所有环境自动同步数据库&#xff0c;而无需人为手工控制&#xff0c;再也不用担心因数据库不同步而导致的各种环境问题。 MySQL环境准备 version: 3…

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

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