0

関数から返される整数があります:

   int a = func();

たとえば、a = 236

これを整数の16進表現として扱い、その10進表現を別の変数に格納して、次のように出力する必要があります。

  printf("%x", variable)

...出力は次のようになります。

 236
4

2 に答える 2

4

すべての値はバイナリ形式でのみ保存されます。フォーマット文字列を使用して10進数の正式な印刷で値を印刷する場合、%dまたは16進数で値を印刷する場合は、を使用して印刷し%xます。

同様に、10進数と16進数の形式で値を割り当てることもできます。

int a = 236;
int b = 0x236;
printf("%d", a); //it will print 236
printf("%x", a); //it will print EC
printf("%d", b); //it will print 566
printf("%x", b); //it will print 236

保存されたバイナリ値は、%oフォーマット文字列を使用して8進形式で出力できます。

于 2013-01-15T11:19:38.563 に答える
3

あなたが必要なものを理解していれば、この小さなコードスニペットがそれを行います

#include <stdio.h>

int main()
{
    char num[128];
    int a=236;
    int hex;

    sprintf(num, "0x%d", a);

    sscanf(num, "%x", &hex);

    printf("Hex: %x\n", hex);
}

出力は

Hex: 236
于 2013-01-15T11:25:51.670 に答える