繁体   English   中英

将十进制转换为十六进制和八进制

[英]Converting Decimal to Hexadecimal and Octal

演示如何用C编写常量,该常量的十进制值为65

一种。 十六进制常数
65/16 = 1 r1
1/16 = 0 r1
Hexadecimal constant = 11

b。 八进制常数(以C表示)
65/8 = 8 r1
8/8 = 1 r0
1/8 = 0 r1 Octal constant = 101

这是在C中转换常量的正确方法吗?

您只需要一个while循环和一个字符串。 因为这是家庭作业,所以我认为我不应该说更多。

方法是除以底数,直到结果小于底数。

所以65/8给出8 r1,但您不要停在那里,因为结果是8 不小于8

你再除以8得到1

它应该是

65/64 = 10 r 1其中64 = 8x8 =八进制10

没说太多

也许我误解了这些问题,但是似乎您被问到如何用C表示十六进制和八进制常量,而不是如何实现将dec转换为十六进制和八进制的算法。

如果是这样的话:

十六进制数字由前面的0x或0X表示

十进制数字由前面的0表示

int hex = 0x41;
int oct = 0101;

当然,您可以通过将我们的值打印为十进制来验证这一点:

printf("%d\n", hex);
printf("%d\n", oct);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM