C语言中怎么输出一个负16进制的数

问题是:编程从键盘上任意输入一个负的16进制的的整数,要以输入的形式输出。如:输入-FA98,输出:-FA98

第1个回答  2019-10-09
负数用十六进制表示,通常用的是补码的方式表示。
int
a=-3;
在C语言中可以这么输出:printf("%hhx\n",
a);
十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。
正数的补是它本身;负数的补码是它本身的值每位求反,最后再加一。
例如:求-3的十六进制
3的十六进制为0003,3求反之后是C,再加1,成D,所以-3的十六进制就是:FFFD
相似回答