计算机如何比较十六进制和十进制值



我正在查看c中的现有代码,其中有一个在100至899的特定范围内的no。我想添加更多条件价值1FE。我不应该将其转换为十进制编号。但是我需要检查这个十六进制的价值。 我的疑问是,硬件将如何解释小数和十六进制的比较。硬件将解释零和一个的值。那么,它会将小数和十六进制的否转换为二进制以检查值吗?(作为1FE转换为十进制的1FE为510,将包含在第899号中)。请帮助理解。

int x = 0x1fe;int x = 510;与计算机完全相同(或更具体地说,是编译器 - 实际硬件永远不会看到" 0x1fe"或" 510" - 仅会看到请参阅二进制版本),所以您的问题没有多大意义。

更改基础仅更改值的表示;它不会改变实际值。如果您有101 2 苹果,并且有5 10 苹果,您仍然拥有相同数量的苹果。

表示计算机的使用恰好是二进制。(嗯,不是"碰巧",但是....是的。)

我的怀疑是,硬件将如何解释小数和十六进制的比较。

硬件没有十进制或十六进制的概念。到机器0x1fe和510是无法区分的;它们只是完全相同的两个不同表示。

最新更新