四种进制

本文详细解析了C语言中四种进制(Binary、Octal、Decimal、Hexadecimal)的概念及其对应的简写(B、O、D、H),并深入介绍了C语言中%p格式符的使用方法和功能,对比了其与%x的区别,强调了%p在输出地址时的移植性和适应性。
摘要由CSDN通过智能技术生成

四种进制
二进制是Binary,简写为B
八进制是Octal,简写为O
十进制为Decimal,简写为D
十六进制为Hexadecimal,简写为H
输出格式(printf中无二进制输出格式)

shortintlong
八进制%ho%o%lo
十进制%hd%d%ld
十六进制%hx或者%hX%x或%X%lx或%lX

在这里插入图片描述
%p与%X
https://zhidao.baidu.com/question/5430253.html(原出处)
C语言中%p用来输出指针类型自身的值。

也就是说 %p用来输出地址。

一、使用方法:抄

%p一般仅用于printf及同类函数中。形式为

printf("%p", varp);

其中后续参数varp为某一个指针变量。如

int a,p;
p=&a;
printf("%p %p", p, &a);
这里输出的p和&a都是int
型。

二、功能:

%p格式符会输出指针本身的值,也就是指针指向的地址值。

该输出为16进制形式,具体输出值取决于指针指向的实际地址值。

三、与**%x**区别:

%x同样输出16进制形式,不过%x对应的是int型,也就是说,其输出长度与系统int型占的字节数相等。如32位编译器,int型占4位字节,那么%x输出的结果最多为16个16进制字符。zhidao

而%p输出宽度取决于系统地址总线位数,即16位最多输出4位16进制字符,32位最多输出8位16进制字符,64位最多输出16位16进制字符。

所以用%p输出地址,相对于用%x输出,可以有更好的移植型和适应性,不会因为更换平台而引起错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值