繁体   English   中英

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

[英]how does the computer compare the hexadecimal and decimal values

我正在查看C中的现有代码,其中检查是否在100到899的特定范围内。我想再加上一个条件,使否的值可以为1FE。 我不应该将其转换为十进制数字。 但是我需要检查这个十六进制值。 我的疑问是,硬件将如何解释十进制和十六进制的比较。 硬件将解释零和一的值。 那么它将把十进制和十六进制的no转换为二进制以检查值吗? (由于1FE转换为十进制时为510,因此将包含在899号中)。请帮助理解。

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

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

计算机使用的表示形式恰好是二进制的。 (嗯,不是“恰好”发生,而是..是的。)

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

硬件没有十进制或十六进制的概念。 对于机器,0x1FE和510是无法区分的; 它们只是完全相同的事物的两种不同表示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM