Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        3年前关闭。
                                                                                            
                
        
有没有一种通用的方法可以使用n位来表示包含n-1位的数字?例如使用3位的1001显示具有4位的XXX where X = {0|1}。而且,映射应该能够在没有任何冲突的情况下取回原始二进制文件。

到目前为止,这page是我发现的最相关的参考,它试图计算位数,但不减少位数。

编辑:我知道这听起来是不可能的,但是我很好奇是否存在解决方法!

最佳答案

n位有2 ^ n个可能的值,而(n-1)位有2 ^(n-1)个。因此,您不能无损地从前者转换为后者。

如果有可能,您还可以使用n-2位等递归地表示您的n-1位。以0位表示一切:)

您被链接的页面误导,这说明x &= x-1会删除位字符串中的1

  10100
& 10011
= 10000

关于c - 将位数减少1 ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41816528/

10-13 03:35