C语言十进制转八进制、十六进制以及十六进制转十进制、八进制

2023-05-16

以下程序的输出结果是
main(){

int a=20;

printf("%d,%o,%x\n",a,a,a);

}
看到这个题目首先我们要明白%o 和 %x代表的是什么意思

%o代表的是输出该数字的八进制

%x代表的是输出该数字的十六进制

1.题目给出了 a=20这个十进制现在我们需要用十进制转八进制,这里我们采用的就是直接除8取余的方法

2.同理对于10进制转16进制我们也是采取除16取余的方法

3.相反,如果我们有一个十六进制那么怎么转成十进制、八进制呢?请看下面解释

(1)十六进制转十进制

16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

例:2AF5换算成10进制:

用竖式计算:

第0位: 5 * 16^0 = 5

第1位: F * 16^1 = 240

第2位: A * 16^2= 2560

第3位: 2 * 16^3 = 8192

直接计算就是:

5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997

(2)十六进制转二进制

由于在二进制的表示方法中,每四位所表示的数的最大值对应16进制的15,即16进制每一位上最大值,所以,我们可以得出简便的转换方法,将16进制上每一位分别对应二进制上四位进行转换,即得所求:

例:2AF5换算成2进制:

第0位: (5)16 = (0101) 2

第1位: (F)16 = (1111) 2

第2位: (A) 16 = (1010) 2

第3位: (2) 16 = (0010) 2

得:(2AF5)16=(0010.1010.1111.0101)2

(3)十六进制转八进制

先将十六进制转为二进制,再将二进制转为八进制

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言十进制转八进制、十六进制以及十六进制转十进制、八进制 的相关文章

随机推荐

  • Conda 使用

    常用命令 查看已创建的虚拟环境 conda info envs C Users xxx gt conda info envs conda environments base E Anaconda3 cusum E Anaconda3 env
  • lz4压缩

    收集的资料 xff1a https gitee com zhengnianli EmbedSummary lz4 在我们嵌入式开发中 xff0c 通信中有些数据量较大的数据可以压缩之后再进行传输 压缩算法有很多 xff0c 常用的有如下几种
  • MySQL gbk中文md5加密

    在MySQL中自带md5 函数可以进行md5加密 xff0c 但是加密字段默认为utf 8格式 select md5 39 这是一串加密数据 39 输出结果 xff1a ca53cf805e403f238b60935e8b68f0f3 可以
  • crosstab 、pivot_table 、groupby比较

    所用数据前五条 目标 生成数据透视图 crosstab pd crosstab index 61 data 39 admit 39 columns 61 data 39 prestige 39 以上代码用于计数 xff0c 如要展示其他数据
  • numpy 矩阵创建

    mat xff1a 分号用于隔开数据 matrix 将ndarray 转为矩阵 bmat 将小矩阵合并成大矩阵 矩阵特有属性与说明 属性 说明 T 返回自身转置H返回自身的共轭转置I返回自身的逆矩阵A返回自身数据的二位数组 xff08 没有
  • numpy 矩阵复制

    纵向复制 横向复制
  • excel 中“万”字处理

    61 IF ISNUMBER FIND 34 万 34 M2 SUBSTITUTE M2 34 万 34 34 34 10000 M2 函数中的3个M2为需要处理单元格所在位置 结果展示如下
  • python groupby 不同列聚合

    dataframe 在groupby后有时候需要对不同的列按照不同的聚合方式聚合 聚合方法如图 xff1a num agg中输入各列数据的聚合方式 可用于多条件groupby
  • dataframe 中万字处理

    df 39 点赞 39 apply lambda x float str x replace 39 万 39 39 39 10000 if 39 万 39 in str x else x astype int
  • VSCode之CMake使用

    一 准备工作 下载 对应平台的VScode安装C 43 43 扩展 安装Cmake 工具扩展 并行需要安装 Cmake xff0c 编译器 xff0c 调试器和构建工具 cmake version 虽然咱们使用VSCode编辑代码 xff0
  • 运行apt-get update后出现错误

    一般错误是如下两种 xff1a 1 一般如果你的ubuntu是中文的设定了地区的 xff0c 错误是如下 xff1a W 无法下载http ppa launchpad net deluge team ppa ubuntu dists nat
  • 表达式求值(含括号的复杂运算)

    具体解析看注释 span class token macro property span class token directive keyword include span span class token string lt bits
  • HttpClient模拟登录总结(不能跳转及跳转后不能登录)

    最近在写一个模拟登录的程序 xff0c 从网上找了很多资料 xff0c 都没能有一个完整的例子可成功跳转登录后的页面 xff0c 现把我的代码拿来与大家分享一下 xff0c 希望可以帮到一些人吧 其原理是 xff1a 通过HttpClien
  • JestonTX2更新软件源

    JestonTX2刷机后需要更新软件源 更新软件源后 xff0c 才可以正常安装QT等软件 软件源记录文件放在以下文件中 cd etc apt source list 可以使用gedit打开此文件 sudo gedit etc apt so
  • Kali的下载安装详细过程

    1 什么是Kali xff1f Kali Linux是专门用于渗透测试的Linux操作系统 2 打开官网 Kali Linux Penetration Testing and Ethical Hacking Linux Distributi
  • 本地搭建GitLab地址不一致问题

    1 本地虚拟机用docker搭建Gitlab project clone 地址如下 xff1a 实际地址如下 xff1a http 192 168 56 51 root apacha backend 本来没在意这个问题 xff0c clon
  • 数据库笔试题(答案)

    一 填空题 每题2分 xff0c 共10分 1 索引字段值不唯一 xff0c 应该 使用 的索引类型为 普通索引 2 只有满足联接条件的记录才包含在查询结果中 xff0c 这种联接为 内联接 3 E R模型的组成包括那些 元素 实体 属性
  • mac时间机器占用大量系统盘空间且在访达中无法找到

    mac用时间机器备份到外置移动硬盘 xff0c 但是后来发现mac系统盘占用随之增加 经过研究发现 xff0c 时间机器备份是现在mac系统盘备份然后转移到移动硬盘 xff0c 而且系统盘中的备份文件是隐藏的 xff0c 所以在关于本机 x
  • android——降低gradle的版本、下载好gradle的包存放的位置

    一 降低gradle的版本 本文以gradle版本7 0 2改成6 3为例子 xff1a 1 在build gradle里面修改dependencies里面的 classpath 34 com android tools build gra
  • C语言十进制转八进制、十六进制以及十六进制转十进制、八进制

    以下程序的输出结果是 main int a 61 20 printf 34 d o x n 34 a a a 看到这个题目首先我们要明白 o 和 x代表的是什么意思 o代表的是输出该数字的八进制 x代表的是输出该数字的十六进制 1 题目给出