c语言怎样定义并输入一个16进制数

2025-03-23 08:11:14
推荐回答(2个)
回答1:

1、C/C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数,而1则表示一个十进制,0xff,0xFF,0X102A,等等.其中的x不用区分大小写。

C/C++中,10进制数有正负之分。比如12表示正12,而-12表示负12。但8进制和16进制只能表达无符号的正整数,如果在代码中写-0xF2,C/C++并不把它当成一个负数。

2、以下是一些用法示例:

int a = 0x100F;    //用一个十六进制数给变量a赋值

int b = 0x70 + a;    //用一个十六进制数+变量a的值给变量b赋值

回答2:

16进制数只是10进制数的一种表现形式,其存储的实际还是10进制数。所以,定义变量就是整形!
C中输入整形变量,可以按16进制格式,如:
int i;
scanf("%x", &i ); //%x按16进制输入数据
printf("%d\n", i ); //按十进制输出结果
printf("%x\n", i ); //按十六进制输出结果