Binary 如何将较大的负小数转换为二进制?例如-513

Binary 如何将较大的负小数转换为二进制?例如-513,binary,decimal,Binary,Decimal,我尝试使用以下方法解决问题: -将绝对值转换为二进制。 -做2的补语。 但我遇到的问题是,我应该用多少位来表示513的绝对值?谢谢。 在维基百科中,N位的二进制数可以表示−2^(N-1)至+2^(N) − 1) − 一, 其中,2^X是X的2次方 问需要多少位来表示513没有多大意义。您可以用一个位来表示它,其中1表示513,0表示其他。 你需要问我需要多少位来代表一个数字范围 如上所述,使用2的补码,您最多可以表示(2^(N-1)-1)个正数和2^(N-1)个负数。 所以假设你想表示[-513

我尝试使用以下方法解决问题: -将绝对值转换为二进制。 -做2的补语。 但我遇到的问题是,我应该用多少位来表示513的绝对值?谢谢。

在维基百科中,N位的二进制数可以表示−2^(N-1)至+2^(N) − 1) − 一,

其中,2^X是X的2次方

问需要多少位来表示513没有多大意义。您可以用一个位来表示它,其中1表示513,0表示其他。 你需要问我需要多少位来代表一个数字范围

如上所述,使用2的补码,您最多可以表示(2^(N-1)-1)个正数和2^(N-1)个负数。 所以假设你想表示[-513..513],你需要11位

这是因为2^(11-1)等于1024。这样,您将能够在2的补码中表示从-1024到1023的数字。 选择N=10将给出介于-512和511之间的数字,这是不够的

我希望这有帮助