C语言中进制的定义、输出和转化

一、如何定义

1.整型(int):

十进制数:默认格式,无需前缀。

八进制数:使用前缀   0

十六进制数:使用前缀   0x

int a = 42;       // 十进制数 42
int b = 052;      // 八进制数 52,等于十进制数 42
int c = 0x2A;     // 十六进制数 2A,等于十进制数 42

2.浮点数(float 或 double)

 十进制数:默认格式,无需前缀。

十六进制数:使用前缀 0x

float a = 3.14;             // 十进制浮点数 3.14
float b = 0x1.91eb86p+1;    // 十六进制浮点数 0x1.91eb86p+1,等于十进制数 3.14

3.字符型(char)

十进制数:使用整数值。

八进制数:使用前缀 0。 

十六进制数:使用前缀 0x

char a = 65;      // 十进制字符 'A',对应整数值 65
char b = 0101;    // 八进制字符 'A',对应整数值 65
char c = 0x41;    // 十六进制字符 'A',对应整数值 65

二、如何输出

printf("%d",65); //十进制
printf("%o",052);//八进制
printf("%X",0x2A);//十六进制

常用占位符: 

%a :⼗六进制浮点数,字⺟输出为⼩写。

• %A :⼗六进制浮点数,字⺟输出为⼤写。

• %c :字符。

• %d :⼗进制整数。

• %e :使⽤科学计数法的浮点数,指数部分的 e 为⼩写。

• %E :使⽤科学计数法的浮点数,指数部分的 E 为⼤写。

• %i :整数,基本等同于 %d 。 

• %g :6个有效数字的浮点数。整数部分⼀旦超过6位,就会⾃动转为科学计数法,指数部分的 e 为⼩写。

• %G :等同于 %g ,唯⼀的区别是指数部分的 E 为⼤写。

• %hd :⼗进制 short int 类型。

• %ho :⼋进制 short int 类型。

• %hx :⼗六进制 short int 类型。

• %hu :unsigned short int 类型。

• %ld :⼗进制 long int 类型。

• %lo :⼋进制 long int 类型。

• %lx :⼗六进制 long int 类型。

• %lu :unsigned long int 类型。

• %lld :⼗进制 long long int 类型。

• %llo :⼋进制 long long int 类型。

• %llx :⼗六进制 long long int 类型。

• %llu :unsigned long long int 类型。

• %o :⼋进制整数。 

• %u :⽆符号整数(unsigned int)。

• %x :⼗六进制整数。

三、进制之间的转换 

例:

十进制向八进制和十六进制转化

int main()
{
	int a = 123;
	printf("%o\n", a);//转化为八进制
	printf("%X\n", a);//转化为十六进制
	return 0;
}

 

类似的,高进制向低进制的转换只需要正确定义数字类型和输出时作用的占位符即可。 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值