C语言中 16进制加10进制 结果是16进制码

X=0x98;Y=1;pos=x+y;结果是16进制吗?
2024-11-22 16:29:55
推荐回答(4个)
回答1:

C语言中支持用16进制表示,与输入十进制一样,机器在存储和运算时,实际使用的都是二进制,这是计算机的性质决定的。在输出时使用的都是十进制,这是为了方便人的使用而定的。
所以,它在机器中使用的都是二进制,如果采用printf("%d",pos);那么输出的肯定是一个十进制值。

回答2:

计算结果是唯一的一个数值,不同的是这个数值的表现形式。你看到的,只是在显示屏上显示出来的。如果你设定的是十进制输出,那显示结果就是153;如果你设定的是十六进制输出,那显示结果就是0x99。其实十进制的153和16进制的99不就是星等的嘛!所以,结果是多少进制的,只取决于你的设置。

回答3:

%d输出的是10进制 %x输出的是十六进制
比如printf("%d",pos); 输出153
printf("%x",pos); 输出 99
它们都是整形的...

回答4:

1、现实中十六进制数和十进制数不可以直接相加,如果是在电脑上的话是可以的,因为不管何种进制数在电脑上都是以二进制的形式表示的,所以在电脑编写程序时是可以相加的。
2、现实中如果想计算一个十六进制数与十进制数的加和,可以将十六进制数转化成十进制数,或将十进制数转换成十六进制数,或者将两者同样的转换成二进制或八进制数进行加和。
3、十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别表示十进制数字10-15.十六进制数的技术规则是“逢十六进一”。
4、十进制数是组成以10为基础的数字系统,有0,1,2,3, 4, 5, 6, 7, 8, 9十个基本数字组成,十进制数的技术规则是“逢十进一”。