当前位置: 首页 > news >正文

c语言-8进制的表示方法

文章目录

  • 一、8进制
  • 二、输出格式
  • 三、范围限制
  • 四、八进制的负数
  • 五、程序


一、8进制

在C语言中,表示8进制数需要使用前缀数字0,而不是通常的o或者0x.
八进制
8进制数以数字0作为前缀,后面跟着一串八进制数字(0-7)组成,一个8进制数可以表示为0123表示十进制的83
计算器

二、输出格式

要将8进制数输出到屏幕上,可以使用printf函数中的格式控制符"%o",要输出变量num的值,可以写成printf(“%o”, num);,输出结果将以八进制的形式显示。

三、范围限制

由于8进制数只有八种可能的数字(0-7),因此其表示的范围有限,对于一个无符号整数类型的变量,最大值是255(即2^ 8 ),如果超过了这个范围,会发生溢出,对于有符号整数类型的变量,范围是-128到127

四、八进制的负数

十进制有负数,八进制也有负数,-0123是合法的八进制数,也就是十进制的-83

int main() {int num = -0123;printf("%d, %o\n", num, num);return 0;
}

五、程序

①从键盘输入一个八进制数,输出其对应的十进制和十六进制

#include <stdio.h>
int main()
{int a = 0;scanf("%o",&a);printf("%d %#x",a,a);//c语言中符合%#的意思是带格式输出。%#x的意思是在输出前面加上0xreturn 0;
}

%#x :输出一个十六进制的整型数,前面带0x, 如果x大写,则显示时也是大写

②%x、%X、%#x、%#X 的区别

# include <stdio.h>
int main()
{int i = 47;printf("%x\n", i);   printf("%X\n", i);   printf("%#x\n", i);   printf("%#X\n", i);   return 0;
}//输出结果:
2f
2F
0x2f
0X2F

如果是小写的x,输出的字母就是小写的;
如果是大写的X,输出的字母就是大写的;
如果加一个#,就以标准的十六进制形式输出。
最好是加一个#,否则如果输出的十六进制数正好没有字母的话会误认为是一个十进制数!


http://www.mrgr.cn/news/64741.html

相关文章:

  • 小白挖漏洞必备的两个平台!有技术就能挖,没有上限,光靠挖洞月入1w+的都大有人在!_漏洞挖掘提交网站。
  • 【matlab版】如何估算波形信号的幅值、频率与相位
  • Matlab实现鲸鱼优化算法优化随机森林算法模型 (WOA-RF)(附源码)
  • Docker部署Portainer CE结合内网穿透实现容器的可视化管理与远程访问
  • 第一章·计算机网络体系结构
  • 如何在 Vue.js 中使用 Mock 数据:教程与技巧【前端mock】
  • 【基础语法】Java Scanner hasNext() 和 hasNextLine() 的区别
  • Netty 组件介绍 - ChannelFuture
  • ASRPRO 记事本2
  • SICTF Round #4|MISC
  • YOLOv6-4.0部分代码阅读笔记-figure_iou.py
  • diss git使用
  • 德州仪器股票分析:增长已经放缓的德州仪器,该买入还是卖出?
  • SpringBoot自动装配流程
  • 存储和读写方案
  • 讲讲RabbitMQ 性能优化
  • 清华双臂机器人扩散大模型RDT:先预训练后微调,支持语言、图像、动作多种输入
  • 动态规划-两个数组的dp问题——1143.最长公共子序列
  • Java 中的 堆栈(Stack)
  • 海滨学院班级记忆档案:设计与技术实现
  • 单例模式四种写法
  • C#/.NET/.NET Core学习路线集合,学习不迷路!
  • 使用贪心策略求解糖果罐调整次数
  • Foods
  • 三层交换实现不同VLAN之间设备的互通
  • js中多let与var