1

展示如何在 C 中编写一个常量,其十进制值为 65

一个。a. 十六进制常数 b. 八进制常数(在 C 中)
65/16 = 1 r1
1/16 = 0 r1
Hexadecimal constant = 11


65/8 = 8 r1
8/8 = 1 r0
1/8 = 0 r1 Octal constant = 101

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

4

3 回答 3

0

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

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

你再除以 8 得到 1

它应该是

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

我觉得我没有说太多

于 2011-05-09T04:09:11.043 回答
0

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

于 2011-05-09T04:00:30.803 回答
0

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

如果是这样的话:

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

八进制数由前面的 0 表示

int hex = 0x41;
int oct = 0101;

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

printf("%d\n", hex);
printf("%d\n", oct);
于 2011-05-09T04:33:17.263 回答