簡體   English   中英

可以用十進制數加上/減去十六進制數嗎?

[英]Can hexadecimal numbers be added/subtracted with decimal numbers?

在C中編程時,假如我將整數h作為十六進制值而整數d作為十進制數。 我可以在h和d之間進行加法或減法嗎? 或者他們必須在同一個數字系統?

是的,你可以寫:

int x = 100 - 0x100 + 0100;

將十進制與十六進制和八進制混合。 在計算發生之前,這些值都被轉換為二進制(並且編譯器將在此示例中進行計算;它不會在運行時進行計算)。 並且任何常量都可以被賦予適當值的int值替換:

int d = 100;
int h = 0x100;
int o = 0100;
int x = d + h + o;

是的,他們可以,例如

int x;
x = 0x0F + 10;
printf("%d\n", x);

輸出:

25

你使用的表示無關緊要,最終它將全部轉換為二進制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM