Questions tagged «binary»

3
为什么2 ^ 16是“特殊”数字?[关闭]
好的,我问这个问题很愚蠢-但在杰夫(Jeff)的文章中:正确设置采访电话屏幕,最初是在5个基本电话屏幕问题中指出的: 当您要求2 ^ 16是时,他们不应该茫然地盯着您。这是一个特殊的数字。他们应该知道。 我从事开发人员,软件工程师,代码猴子等工作已经有一段时间了,我认为我从未遇到过。我的意思是,我当然可以指望二进制值对其执行基本操作等,但是我看不到该值的“特殊之处”。
48 numbers  binary 



3
与以二进制存储等效消息相比,存储纯文本数据是否占用更少的空间?
作为一名Web开发人员,我对二进制数据了解甚少。 如果我使用句子“ Hello world。”,将其转换为二进制文件,然后将其作为二进制文件存储在SQL数据库中,似乎 1和0会比字母占用更多的空间。在我看来,使用字母有点像使用压缩,其中一个符号代表多个。 但这真的是这样吗? 与以二进制存储等效消息相比,存储纯文本数据是否占用更少的空间?

22
为什么要学习十六进制?[关闭]
那天我上了很多入门编程课,主要目的是让我对所发现的每种不同类型的编程有所了解。毫不奇怪,几乎每个类都以相同的格式运行:硬件简介,软件简介,然后进入实际编程。尽管了解硬件和软件的工作原理非常重要,但我始终对每门课程都涉及的一个主题感到困惑。 在我发现的软件介绍部分中,他们总是很着重于以二进制,十六进制甚至八进制数进行识字。我知道了解这些东西是什么,以及计算机如何解释它们是很好的,但是我从来没有发现自己真的需要知道如何读写这些数字系统。确实,我唯一见过的东西不是base 10,而是CSS中的颜色,如果您使用www.colorpicker.com之类的颜色,这会更加容易 我是否只是对编程世界中这些非基数10的数字系统的精彩用法一无所知,还是将这些部分纳入所有编程教科书中的古老传统?有没有人有一个很好的例子说明普通程序员实际在哪里使用八进制数?

3
为什么“胖二进制文件”没有更广泛地用于跨平台应用程序?
据我所知,所谓的“胖二进制文件”(包含用于多个系统的机器代码的可执行文件)仅在Apple PC上真正使用过,甚至在那里似乎它们仅使用它们是因为它们需要从PowerPC到x86。 如今,许多软件都是跨平台的,似乎制作单个胖二进制文件比跟踪操作系统和体系结构的每种组合的十几个左右不同的下载要简单得多,更不用说以某种方式传达给客户他们想要哪一个。 关于这种方法为何从未流行的原因,我可以提出很多猜测,例如: 缺乏交叉编译工具使多操作系统二进制文件不可行 无论如何,您都需要在每个操作系统上测试代码,因此您已经必须拥有可以针对每个操作系统进行本地编译的系统 显然,32位程序已经可以在64位计算机上“正常工作” 动态链接在每个OS上的工作方式都不同,因此即使“胖应用程序”可以运行“胖库”也可能不起作用 但是由于我一直在使用一个库或框架来向我隐藏所有这些特定于操作系统和特定于体系结构的详细信息,所以我不知道这些内容到底有多真实,或者是否还有更多我不知道的问题关于。那么,为什么通常不使用胖二进制文件来创建多体系结构和/或多OS软件的实际原因是什么?(Apple以外)

2
优化包含大型二进制文件的git repo
我们的项目约为11GB,其中10个是二进制数据(.png图像)。因此,git diff或git status运算要花费一分钟以上的时间。幸运的是,所有数据文件都以一个漂亮的名称分隔到一个文件夹中data。任务是“避免对二进制文件进行压缩,扩散和其他昂贵的操作”。 考虑将项目分为两个回购。然后data将是一个外部回购,由主源代码回购签出。已决定,使存储库保持同步的开销会太大,尤其是对于处理数据文件的艺术家而言。 明确地告诉git这些文件是二进制文件,不考虑从diffs文件,但是这些文件似乎只是该问题的部分解决方案。 我觉得git属性是解决方案,但是怎么办?还是有比整体仓库更好的体系结构?
21 git  binary 

4
为什么不能轻松地反编译本机代码?
使用基于字节码的虚拟机语言(例如Java,VB.NET,C#,ActionScript 3.0等),有时您会听到,只需从Internet下载一些反编译器,并在其中运行字节码一次,这是多么容易,并且通常,您会在几秒钟内想到与原始源代码相差不大的内容。据说这种语言特别容易受到攻击。 最近,我开始想知道,为什么您至少不了解本机二进制代码最初是用哪种语言编写的(以及尝试将其反编译成哪种语言),却为什么对本机二进制代码却听不懂呢。很长一段时间以来,我发现这仅仅是因为本地机器语言比典型的字节码疯狂得多,而且更加复杂。 但是字节码是什么样的?看起来像这样: 1000: 2A 40 F0 14 1001: 2A 50 F1 27 1002: 4F 00 F0 F1 1003: C9 00 00 F2 本地机器代码是什么样(十六进制)?当然,它看起来像这样: 1000: 2A 40 F0 14 1001: 2A 50 F1 27 1002: 4F 00 F0 F1 1003: C9 00 00 F2 指令来自类似的思维框架: 1000: mov EAX, 20 …

5
您如何调试二进制格式?
我希望能够调试构建二进制生成器。现在,我基本上是将输入数据输出到二进制解析器,然后深入代码并打印输入到输出的映射,然后获取输出映射(整数)并使用它来定位对应的整数在二进制文件中。非常笨拙,并且需要我对源代码进行深度修改才能获得输入和输出之间的映射。 似乎您可以查看不同变体形式的二进制文件(在我的情况下,我想以十进制数字形式以8位块形式查看二进制文件,因为它非常接近输入内容)。实际上,有些数字是16位,有些是8位,有些是32位,等等。因此,也许会有一种查看二进制文件的方式,这些内存中的每个不同数字都以某种方式突出显示。 我看到的唯一可能的方法是,如果您实际上构建了特定于实际二进制格式/布局的可视化工具。因此,它知道序列中的32位数字应位于何处,以及8位数字应位于何处,等等。在某些情况下,这是很多工作并且有些棘手。所以想知道是否有通用的方法可以做到这一点。 我也想知道目前调试这种类型的东西的一般方法是什么,所以也许我可以从中得到一些尝试的想法。
11 debugging  binary 

3
编译还是使用预建二进制文件性能?
如果我手动为将要在其上使用的实际计算机编译软件组件的源,那么与是否在其他平台上为许多不同体系结构编译源相比,性能会更好(更快)?我下载了一些不错的结果编译源,我想知道这是否是由于编译而不是下载预先编译的二进制文件而导致的,软件更新通常就是这种情况。

3
65535号有什么特别之处吗?
2¹⁶-1&2⁵=2⁵(或?显然吗?) 一个开发人员今天问我什么是65535和32,即2¹⁶-1和2⁵=?我起初以为是32,但似乎很容易,然后我想了几分钟,然后回答了32。32似乎是正确的答案,但是如何?65535 =2¹⁶-1= 1111111111111111(但似乎不正确,因为此二进制数全为-1(?)),32 = 100000,但我无法将其转换为头脑,因此无论如何我回答32,因为我有回答一些问题。答案32实际上是微不足道的吗?以同样的方式2¹⁶-1&2⁵-1= 31吗?开发人员为什么要问我有关65535的确切信息? 要求我评估的二进制值是1111111111111111和100000,但我不明白为什么1111111111111111不是-1。不是-1吗?65535是一个产生溢出的数字,我怎么知道?

4
版本控制中存储的图像的文件命名约定?
我的应用程序有一个存储在版本控制中的图标文件。现在明天我可能决定更改图标。我正在讨论图标文件的两种可能的命名约定: 保持文件名固定,例如application.ico 使文件名反映图像的性质,例如happyface.ico 选项1没有说明文件是什么。它可能会给人一种错觉,即两个完全不同的图像是同一事物的不同“版本”。使用选项2,我不仅必须添加一个新文件并删除旧文件,而且还必须修改资源文件以反映新图标的文件名。 从一个相关但不同的角度来看: 一个带有标题图像的网站。文件名是header.jpg还是Sunrise-family-smiling.jpg? 图像文件名是否应反映其在应用程序中的功能或内容?最佳做法是什么?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.