short c = 34;
并且c的十六进制值是22.如何通过转换'c'将十六进制值分配给一个短变量(比如短d)?
像
short d = 22;
答案 0 :(得分:3)
short
个对象和其他整数对象没有十进制值或十六进制值。他们的价值观纯正。
11,11和0xb是相同数字的不同名称。
要为d
分配与c
相同的值,请使用d = c;
。
使用printf
进行打印时,可以将值格式化为十进制数字或十六进制数字。您可以使用c
将printf("%x", c);
的值打印为十六进制数字。
答案 1 :(得分:1)
从一个短片分配到另一个短片时,您无需进行任何类型的转换。对于PC来说,它只是一个比特集合。你如何解释它们(如十六进制,十进制等)是你编写的高级决策。如果“c”中有正确的十六进制(或其他)值,只需将其指定为“d。”
答案 2 :(得分:1)
机器对数字系统一无所知。它们用于人类感知的数字。
在人机交互发生时,您只能“翻译”数字:
输出示例:
short c = 10; // for you its "decimal ten" now,
// for machine is just a handful of bits
printf("d = %d\n", c); // you explicitly say here to output as decimal
printf("d = 0x%.4X", c); // you explicitly say here to output as hexadecimal
因此,不要试图在程序的逻辑部分内部进行翻译,而是转到输出部分并在那里进行翻译。
希望它有所帮助!
答案 3 :(得分:-3)