欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > c语言-8进制的表示方法

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

2025/9/5 11:44:11 来源:https://blog.csdn.net/qq_41908302/article/details/143464766  浏览:    关键词: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,输出的字母就是大写的;
如果加一个#,就以标准的十六进制形式输出。
最好是加一个#,否则如果输出的十六进制数正好没有字母的话会误认为是一个十进制数!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词