c/c++/java/c#试构造无法压缩的二进制文件。

请编写一个小程序,输出一个二进制文件,文件内容不做要求,此文件不管用什么工具都无法压缩,也就是压缩后体积不会变小。不仅是看上去size不会变小,最好是理论上也可以证明无法被压缩。还有二进制序列越长越好。

第1个回答  2013-11-24
没研究过压缩算法,但直接写出或者要证明这种东西恐怕难度较高,但要得到实例比较简单,你找一个合适的你需要的大小的视频文件,用常见的不同的压缩格式,比如rar、zip、7z等等越多越多,每一种格式以压缩方式为最好,压缩两次(要简单点比如说先压缩为1.rar,将1.rar随便改名,比如改为1,然后再用最好的压缩为1.rar,再随便改名为1,然后换成7z格式再压缩)
第2个回答  2013-11-24
输出随机数就可以了
由于是随机数,各个数值出现的几率完全一样,基于统计的压缩方法不会有压缩效果。
基于字典的压缩方式由于各种字符随机出现,也不会有压缩效果。。。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define BUFLEN 1024
#define LOOP 1024

int main()
{
char buf[BUFLEN];
int i, j;
srand(time(NULL));
FILE *fp = fopen("out.dat","wb");
for(i = 0; i < LOOP; i++)
{
for(j = 0; j < BUFLEN; j++) buf[j] = rand() & 0xFF;
fwrite(buf, 1 , BUFLEN, fp);
}
fclose(fp);
return 0;
}

c\/c++\/java\/c#试构造无法压缩的二进制文件。
你找一个合适的你需要的大小的视频文件,用常见的不同的压缩格式,比如rar、zip、7z等等越多越多,每一种格式以压缩方式为最好,压缩两次(要简单点比如说先压缩为1.rar,将1.rar随便改名,比如改为1,然后再用最好的压缩为1.rar,

The difference between C++ and java.
在C和C++里大量采用指针的另一个原因是为了能指向任意一个内存位置(这同时会使它们变得不安全,也是Java不提供这一支持的原因)。指针通常被看作在基本变量数组中四处移动的一种有效手段。Java允许我们以更安全的形式达到相同的目标。解决指针问题的终极方法是“固有方法”(已在附录A讨论)。将指针传递给方法时,通常不...

三个故事带你快速理解C、C++、C#的区别
C#直接回答:新大象实例,使用addElephant方法放入冰箱。我:大象放入冰箱,过程快速。C#:为安全考虑,无法加速。我:不调整大象细节。C#:提供C++\/CLR辅助,或导出二进制文件。我:感谢C#,任务完成。案例二:大魔法师与学徒。C教授繁琐步骤召唤火球。C++教授复杂且美观的火球术。C#简单呼唤火球,但远距离...

3. 用任意一种编程语言(C\/C++\/Java\/C#\/VB.NET)写出任意一种你所知的...
void BubbleSort(int a[], const int first, const int last);\/\/冒泡排序 void InsertSort(int a[], const int first, const int last);\/\/插入排序 void SelectSort(int a[], const int first, const int last);\/\/选择排序 void MergeSort(int a[], const int p, const int r);\/\/...

C、C++、VC++、Java、C#之间有何异同
VC++是Microsoft Visual C++的简称,它是C++语言的集成开发环境,提供了一套强大的工具集,方便开发者进行高效开发。C#是Microsoft开发的一种面向对象的、托管型、安全性极高的编程语言,它运行在.NET Framework上,与Java一样属于高级语言。从应用领域来看,C和C++因其底层控制能力和高效性,在系统级开发...

C\/C++,java,等编程语言与.NET,ASP等的区别!
c\\c++是一类归于c语言,java、jsp是一类归为java语言,c#\\VB\\VF等编程语言开发的aspx归为.net平台。java是一种语言,而jsp则是能够让java编译器识别的一种文件。.net是一种类库,你可以理解为一个零件仓库,当你需要的时候看里面有没有你要的零件,如果没有就自己写代码实现,如果有则拿来用就可以...

C++,JAVA,C,C#,BASIC,……;哪一个学习起来既简单,功能又强大?_百度...
C\/C++比较难,Basic的功能又不太好,所以还是Java首选,C#也不错。Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:1、Java语言是简单的。Java语言的语法与C语言和C++...

C++、JAVA、C#、.NET的工作内容分类
java比C++快的说法我以前就听说了,CSDN上也吵的很厉害.其实java只是种语言,不代表一种编译器,执行时先把字节码直接优化转换成机器码,速度确实比一边解释一边执行要快,但也不能比说比C++快,因为C++也是一种语言,不是编译器.主流的C++\/java编译器效率如何,有足够证明的实验结果时再说。Java就两个缺点:启动速度慢...

软件测试中关于程序设计语言:C、C++、Java...需最先了解哪一个?需掌握...
先学习C,然后学习C++或Java 原因:1)软件测试中很多测试方法(比如路径覆盖、边值法、白盒测试、黑盒测试等等)基本上是利用面向过程语言,如C语言,讲述的;2)C++或Java 是面向对象的语言。概括地讲,对面向对象的程序进行测试的方法是在1)的基础上,再融入面向对象的特征,如探针法等等。3)因此...

请问,c、c++、java、c#、arm7、arm9、arm11、嵌入式、操作系统,这几者...
C#拥有比C\/C++或者Java更广泛的数据类型,与C++不同的是,C#结构体与类是不支持继承;与Java相同的是,一个结构体可以实现接口(interface),C#程序同样不能直接编译成标准的二进制可执行形式,它被编译成为中间代码,然后通过.NET Framework的虚拟机运行。人们一般认为,使用Java或C#的开发成本比C++低,...

相似回答
大家正在搜