Tag: 二进制

为什么更喜欢两个补码超过符号和数量签名的数字?

我只是好奇,如果有一个原因,为了在二进制表示-1,二进制补码使用:翻转的位和加1? -1表示为11111111(二进制补码),而不是(对我来说比较直观)10000001是二进制1,第一位是负数标志。 免责声明:我的工作不依赖二进制算术!

Python 2.x – 写入二进制输出到标准输出?

有没有办法在Python 2.x中写入二进制输出到sys.stdout? 在Python 3.x中,你可以使用sys.stdout.buffer(或分离标准输出等),但是我一直没有findPython 2.5 / 2.6的解决scheme。 编辑, 解决scheme :从ChristopheD的链接,下面: import sys if sys.platform == "win32": import os, msvcrt msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) 编辑:我试图推送一个PDF文件(在二进制forms)标准输出在Web服务器上。 当我尝试使用sys.stdout.write写入文件时,会将各种回车符添加到导致PDF渲染损坏的二进制stream中。 编辑2:对于这个项目,我需要运行在Windows服务器,不幸的是,所以Linux的解决scheme。 简单的例子(从磁盘上的文件读取,而不是实时生成,只是为了我们知道代码不是问题): file = open('C:\\test.pdf','rb') pdfFile = file.read() sys.stdout.write(pdfFile)

在Java中,整数是如何内部表示的?

我想了解Java如何在内部存储整数。 我知道所有的Java原始整数签名,(除短吗?)。 这意味着数字的一个字节中less了一位。 我的问题是,所有的整数(正数和负数)存储为二进制补码还是只有负数的二进制补码? 我看到规格说x bit two's complement number 。 但是我经常感到困惑。 例如: int x = 15; // Stored as binary as is? 00000000 00000000 00000000 00001111? int y = -22; // Stored as two complemented value? 11111111 11111111 11111111 11101010 编辑 要清楚, x = 15 In binary as is: `00000000 00000000 00000000 00001111' Two's complement: […]

在Python中将整数转换为二进制

为了将整数转换为二进制,我已经使用这个代码: >>> bin(6) '0b110' 何时擦除'0b',我用这个: >>> bin(6)[2:] '110' 如果我想将6显示为00000110而不是110我该怎么办?

转换string(如testing123)转换为Java中的二进制文件

我想能够将string(用文字/字母)转换为其他forms,如二进制。 我将如何去做这件事。 我在BLUEJ(Java)编码。 谢谢

什么是存储上传的图像,SQL数据库或磁盘文件系统的最佳地点?

我正在编写一个允许用户将图像上传到服务器上的应用程序。 我期望每天大约20个图像所有jpeg,可能不会被编辑/resize。 (这是另一个问题,如何在存储之前调整服务器端的图像大小,也许有人可以在注释中放一个.NET资源)。 我想知道什么是存储上传图像的最佳地点。 将图像作为文件存储在文件系统中,并在表格中创build具有该图像的确切path的logging。 或者,使用数据库服务器的“图像”或“二进制数据”数据types将图像本身存储在表格中。 我看到两者的优点和缺点。 我喜欢a),因为我可以轻松地重定位文件,只需更改表条目。 另一方面,我不喜欢在Web服务器上存储业务数据,我不想将Web服务器连接到任何其他持有业务数据的数据源(出于安全原因),我喜欢b),因为所有的信息是在一个地方,并通过查询很容易访问。 另一方面,数据库很快就会变得很大。 外包数据可能会更困难。

生成所有设置了k位的长度为n的二进制string

find包含k位集的长度为n的所有二进制string的最佳algorithm是什么? 例如,如果n = 4,k = 3,则有… 0111 1011 1101 1110 我需要一个好的方法来生成这些给定的任何n和任何k,所以我宁愿用string来完成。

如何打印(使用cout)数字的方式存储在内存中?

我正在学习关于操作系统的大学课程,我们正在学习如何从二进制转换为hex,十进制到hex等,今天我们刚刚学习如何使用二进制补码(〜数字+ 1)。 我们在纸上做了几个练习,我希望能够在将作品提交给老师之前validation我的答案。 我为前几个练习编写了一个C ++程序,但是现在我被困在了如何用下面的问题来validation我的答案: char a, b; short c; a = -58; c = -315; b = a >> 3; 我们需要在 a , b和c 内存中显示二进制表示。 我已经在纸上做了,它给了我下面的结果(二进制补码之后的所有二进制表示记忆中的数字): a = 00111010(这是一个字符,所以1个字节) b = 00001000(这是一个字符,所以1字节) c = 11111110 11000101(这是一个简短的,所以2字节) 有没有办法来validation我的答案? 在C ++中是否有一个标准的方式来显示一个数字的内存中的二进制表示,还是我必须自己编码每个步骤(计算二进制补码,然后转换为二进制)? 我知道后者不会这么长,但我很好奇,是否有一个标准的方法来这样做。

读取和写入二进制文件

我试图编写代码来读取二进制文件到缓冲区,然后将缓冲区写入另一个文件。 我有下面的代码,但缓冲区只存储了文件中第一行的几个ASCII字符,没有别的。 int length; char * buffer; ifstream is; is.open ("C:\\Final.gif", ios::binary ); // get length of file: is.seekg (0, ios::end); length = is.tellg(); is.seekg (0, ios::beg); // allocate memory: buffer = new char [length]; // read data as a block: is.read (buffer,length); is.close(); FILE *pFile; pFile = fopen ("C:\\myfile.gif", "w"); fwrite (buffer , 1 […]

什么是应用程序二进制接口(ABI)?

我从来不清楚ABI是什么。 请不要指向我的维基百科文章。 如果我能理解的话,我不会在这里发表如此冗长的post。 这是我对不同接口的看法: 电视遥控器是用户和电视机之间的接口。 它是一个现有的实体,但它本身没有用(不提供任何function)。 遥控器上每个button的所有function都在电视机中实现。 接口:它是该functionality和consumer之间的“现有实体”层。 一个接口本身是不会做任何事情的。 它只是调用后面的function。 现在取决于谁是用户是有不同types的接口。 命令行界面(CLI)命令是现有的实体,消费者是用户,function在后面。 functionality:我的软件function,它解决了我们正在描述这个接口的一些目的。 existing entities:命令 consumer:用户 graphics用户界面(GUI)窗口,button等是现有的实体,消费者也是用户,function在后面。 functionality:我的软件function,它解决了我们正在描述这个接口的一些目的。 existing entities:窗口,button等。 consumer:用户 应用程序编程接口(API)函数或更正确的接口(在基于接口的编程中)是现有的实体,这里的消费者是另一个程序而不是用户,并且function也在这个层之后。 functionality:我的软件function,它解决了我们正在描述这个接口的一些目的。 existing entities:函数,接口(函数的数组)。 consumer:另一个程序/应用程序 应用程序二进制接口(ABI)这是我的问题开始的地方。 functionality: ??? existing entities: ??? consumer: ??? 我用不同的语言编写了软件,提供了不同的界面(CLI,GUI和API),但是我不确定是否曾经提供过任何ABI。 维基百科说: ABI涵盖了诸如 数据types,大小和alignment; 调用约定,它控制如何传递函数的参数和返回值检索; 系统调用号码以及应用程序如何对操作系统进行系统调用; 其他ABI标准化的细节,如 C ++的名字改变, exception传播和 在同一平台上调用编译器之间的约定,但不要求跨平台兼容性。 谁需要这些细节? 请不要说操作系统。 我知道程序集编程。 我知道如何链接和加载工作。 我知道里面到底发生了什么。 为什么C ++的名字来了? 我以为我们在二元层面上谈论。 为什么语言进来? 无论如何,我已经下载了[PDF] […]