将十进制转换为十六进制和八进制 [英] Converting Decimal to Hexadecimal and Octal
问题描述
显示如何在C中写入一个常量,其十进制值为65,如
a。一个十六进制常量
65/16 = 1 r1
1/16 = 0 r1
十六进制常量= 11
b。八进制常数(单位为C)
65/8 = 8 r1
8/8 = 1 r0
1/8 = 0 r1
八进制常数= 101
这是在C中转换常量的正确方法吗?
$ b可能我误解了这些问题,但是好像你被问到C中是如何表示十六进制和八进制常量的,而不是如何实现一个算法将十进制数转换为十六进制数和十进制数。
如果是这样的话:
0x或0X
十进制数由前面的0表示
int hex = 0x41;
int oct = 0101;
当然,您可以通过以十进制打印我们的值来验证这一点:
printf(%d\\\
,hex);
printf(%d\\\
,oct);
Show how to write a constant in C, whose decimal value is 65 as
a. a hexadecimal constant
65/16 = 1 r1
1/16 = 0 r1
Hexadecimal constant = 11
b. an octal constant (in C)
65/8 = 8 r1
8/8 = 1 r0
1/8 = 0 r1
Octal constant = 101
Is this the right way to convert constants in C?
Maybe I am misunderstanding the questions, but it seems like you are being asked how hex and oct constants are represented in C, not how to implement an algorithm to convert dec to hex and oct.
If that is the case:
hex numbers are represented by a preceding 0x or 0X
oct numbers are represented by a preceding 0
int hex = 0x41;
int oct = 0101;
Of course, you can verify this by printing our the values in decimal:
printf("%d\n", hex);
printf("%d\n", oct);
这篇关于将十进制转换为十六进制和八进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!