【发布时间】:2013-02-02 09:12:36
【问题描述】:
有谁知道我该如何解决这个问题?任何帮助都会很棒......我似乎无法理解它。
如你所知,二进制只能是 1 或 0
假设你有一个像字节这样的 8 位二进制数 >>>>>> 0001 1000
我试图找出一个方程式,或者你可以从一个 8 位数字中获得的最大组合数量是多少
我的意思是......假设你有一个两位二进制数,你可以拥有的最大二进制数组合是
00
01
10
11
因此 2 位二进制数的最大组合总数 = 4
示例 2
如果你有一个 3 位数字,最大的二进制组合将是
000
001
010
100
101
111
110
011
因此 3 位数字的总最大二进制组合 = 8
示例 3
如果它是一个 4 位数字,您可以拥有的最大二进制组合是
0000
0001
0010
0100
1000
0111
0110
1111
1110
1101
1011
1001 总最大组合 = 12
我最近问了这个问题,并且得到了回答,谢谢 manu-fatto 和 zgnilec,他们很友好地让我知道这是一个简单的方程,答案/方程是 2^digit 大小。
我想我的下一个问题是如何编写一个可以在 Xcode 或 NSLog 中显示这些组合的小程序。我很擅长 Objective C,我可以像 NSLog 一样查看输出会很棒。
我只知道它看起来像:
int DigitSize=8
int CombinationTotal = 2^8
CombinationSize = NSMutableArray ArraywithCapacity 8;
输出
NSString Combination1 =@"0000 0000";
NSString Combination2 =@"0000 0001";
NSString Combination3 =@"0000 0010";
Nslog @"combination 1 = %@ ,Combination1";
Nslog @"combination 2 = %@ ,Combination2";
Nslog @"combination 3 = %@ ,Combination3";
……
Nslog @"combination 256 = ???? ???? ";
抱歉,我 3 个月前才开始学习编程,语言模糊,我还有很多教程要学习。
**我正在尝试构建数据压缩算法...
基本上数据压缩是关于减少位数......位数越少文件越小
即
700bits 的文件比 900bits 的文件小
8 位 = 1 个字节
1024 字节 = 1kb
1024kb = 1 mb
我不知道它是否可能,但我只是想如果你有一个可以一次读取 1024 位的算法...用方程 thats = 2^1024 = 数学错误:( == 位组合总数可能
获得组合总数后,您可以将每个组合设置为一个符号,例如 000101010010101011001011011010101010140010101101000000001110100101100001010100000......0011010 = 符号 #
所以从现在开始,只要计算机看到符号#,它就识别它等于二进制数000101010010101011001011011010101010140010101101000000001110100101100001010100000......0011010
为了更好地理解它......想想汽车/车辆上的车牌,它们只是几个字符,但是当你将它们打入警察数据库或任何汽车数据库时,更多信息就会出现其相同的原理...... ..
基本上,符号是获取更多数据的关键
我不知道这是否有意义,但是...理论上你是否可以一次读取 8388608 位
8388608 位 = 1 兆字节......
十个符号可能意味着 10mb...您可以创建数字媒体二维条码 这只是我在看《星际之门》时的一个想法,哈哈 :)**
【问题讨论】:
标签: objective-c binary binary-data equation