【发布时间】:2013-10-18 01:47:10
【问题描述】:
好的。所以我遇到了一个问题,说有一个用十六进制表示的位模式。第一个是 0x0C000000 。问题是,我应该假设它是一个二进制补码整数,然后是无符号整数。假设之后,我应该说十进制数是基于它是二进制补码和无符号的。
我应该从十六进制转换为 2 的补码吗?如果不先转换为十进制,我该怎么做?
任何其他可能的见解都会很棒。
【问题讨论】:
标签: unsigned bits hex twos-complement
好的。所以我遇到了一个问题,说有一个用十六进制表示的位模式。第一个是 0x0C000000 。问题是,我应该假设它是一个二进制补码整数,然后是无符号整数。假设之后,我应该说十进制数是基于它是二进制补码和无符号的。
我应该从十六进制转换为 2 的补码吗?如果不先转换为十进制,我该怎么做?
任何其他可能的见解都会很棒。
【问题讨论】:
标签: unsigned bits hex twos-complement
根据您的描述,我知道您必须为可以表示的值写出两种可能性。一种用于带有二进制补码表示的有符号整数,另一种用于无符号整数。
所以你要做的第一件事就是将数字转换为二进制,然后查看位。
对于有符号整数,您决定它是否为负数。如果是,则使用两者的恭维转换来否定它(使其为正)并确保您记得写一个减号。
然后,无论哪种情况,您都对二进制数进行十进制转换,然后将结果写出。
【讨论】: