Questions tagged «encoding-scheme»

2
为什么C的void类型不同于Empty / Bottom类型?
维基百科以及我发现的其他来源都将C的void类型列为单位类型,而不是空类型。我觉得这很混乱,因为在我看来,它void更适合于空/底类型的定义。 void据我所知,没有价值观存在。 返回类型为void的函数指定该函数不返回任何内容,因此只能执行某些副作用。 类型的指针void*是所有其他指针类型的子类型。同样,void*在C中进行来回转换是隐式的。 我不确定最后一点是否可以作为void空类型的参数,void*或多或少是与无关的特例void。 另一方面,void它本身不是所有其他类型的子类型,据我所知,这是将类型作为底部类型的要求。
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

4
摩尔斯电码是二进制,三进制还是五进制的?
我正在阅读《代码:计算机硬件和软件的隐藏语言》这本书,在第二章中作者说: 莫尔斯电码被认为是二进制(字面意思是二乘二)代码,因为该代码的组成部分仅由两点组成-点和破折号。 另一方面,维基百科说: 严格来说,它不是二进制的,因为它有五个基本元素(请参阅quinary)。但是,这并不意味着摩尔斯电码不能表示为二进制代码。从抽象的意义上讲,这是电报运营商在传输消息时执行的功能(请参阅五进制)。 但话又说回来,另一个Wikipedia 页面在“二进制代码列表”中包含了摩尔斯电码。 我很困惑,因为我认为摩尔斯电码实际上是三元的。您有3种不同的“可能性”:静默,短蜂鸣或长蜂鸣。 用“搅拌二进制”表示莫尔斯电码是不可能的,不是吗? “严格二进制”是指二进制流:1010111101010 ..我应该如何表示静音,短蜂鸣和/或长蜂鸣? 我能想到的唯一方法是计算机实现的“字号”。如果我(和CPU /代码的解释器)知道每次将读取8位,那么我可以代表摩尔斯电码。我可以简单地用1表示一个短蜂鸣声,或用0表示一个长蜂鸣声,而沉默将由单词长度隐式表示。(假设是8位。)因此,我又有了这个第3个变量/第3个资产我的手:字号。 我的想法是这样的:在一个8位的字中,我可以为要读取的位保留前3位,为莫尔斯电码保留后5位。就像00110000代表'A'。而且我仍然处于“二进制”状态,但是我需要使它变为三进制的字长,不是吗?前3位表示:接下来的5位仅读取1位。 代替二进制,如果我们使用三进制,我们可以显示摩尔斯电码,例如:101021110102110222等。其中1是:dit 0是:dah,2是静默。通过使用222,我们可以对长时间的静音进行编码,因此,如果您具有*-* --- *-之类的信号,则可以显示为:102100022210,但是除非直接使用1和0,否则不可能直接使用就像我提到的“固定”字长一样,但这很好解释,而不是以二进制形式保存摩尔斯电码。想象一下像钢琴之类的东西,您只有钢琴按钮。您想用摩尔斯电码给某人留言,可以将按钮涂成黑色。您无法留下清晰的信息,不是吗?您还需要至少一种颜色,以便您可以设置静音(字符和单词之间的静音。这就是三叉戟的意思)。 我不是问您能否用57进制数或其他任何形式表示摩尔斯电码。 我已经通过电子邮件发送给作者(Charles Petzold);他说,他在“代码”的第9章中演示了摩尔斯电码可以解释为二进制代码。 我的想法哪里出问题了?我在读的书是摩尔斯电码是二进制吗?是否值得商bat?为什么在一个维基百科页面上将摩尔斯电码告诉成五进制,并且在“二进制码列表”页面中也列出了摩尔斯电码? 编辑:我已经通过电子邮件发送给作者并得到了回复: - - -原始信息 - - - 发件人:Koray Tugay [mailto:koray@tugay.biz] 发送:2015年3月3日,星期二,下午3:16 至:cp@charlespetzold.com 主题:莫尔斯电码真的是二进制的吗? 主席先生,您能否在这里看看我的问题:摩尔斯电码是二进制,三进制还是五进制的?五进制? 此致,Koray Tugay 来自:“查尔斯·皮佐尔德” 致:“'Koray Tugay'” 主题:RE:莫尔斯电码真的是二进制的吗?日期:3 2015年3月23:04:35 EET 在“代码”的第9章结尾处,我演示了莫尔斯电码可以解释为二进制代码。 - - -原始信息 - - - …

3
为什么此代码具有独特的可解码性?
源字母:{a,b,c,d,e,f}{a,b,c,d,e,f}\{a, b, c, d, e, f\} 码字母表:{0,1}{0,1}\{0, 1\} a:0101a:0101a\colon 0101 b:1001b:1001b\colon 1001 c:10c:10c\colon 10 d:000d:000d\colon 000 e:11e:11e\colon 11 f:100f:100f\colon 100 我认为,要使代码唯一可解码,就必须无前缀。但是在此代码中,例如,代码字ccc是代码字fff的前缀,因此它不是无前缀的。但是我的教科书告诉我,它的反向符号是无前缀的(我不明白),因此它是唯一可解码的。有人可以解释这是什么意思,或为什么它具有独特的可解码性吗?我知道它满足卡夫食品的不平等,但这只是一个必要条件,不是充分条件。


1
如何找到幂集的子集的最短表示形式?
我正在寻找解决以下问题的有效算法或NP硬度的证明。 令为一个集合,为的子集。找到一个最小长度的序列,使得对于每个,都有一个使得。ΣΣ\SigmaA⊆P(Σ)A⊆P(Σ)A\subseteq\mathcal{P}(\Sigma)ΣΣ\Sigmaw∈Σ∗w∈Σ∗w\in \Sigma^*L∈AL∈AL\in Ak∈Nk∈Nk\in\mathbb{N}{wk+i∣0≤i&lt;|L|}=L{wk+i∣0≤i&lt;|L|}=L\{ w_{k+i} \mid 0\leq i < |L| \} = L 例如,对于,单词是该问题的解决方案,因为对于存在,对于,。w = b a c { a ,b } k = 0 { a ,c } k = 1A={{a,b},{a,c}}A={{a,b},{a,c}}A = \{\{a,b\},\{a,c\}\}w=bacw=bacw = bac{a,b}{a,b}\{a,b\}k=0k=0k=0{a,c}{a,c}\{a,c\}k=1k=1k=1 至于我的动机,我试图表示一个有限自动机的边集,其中每个边都可以用输入字母中的一组字母来标记。我想存储一个字符串,然后在每个边缘保留一对指向该字符串的指针。我的目标是最小化该字符串的长度。

2
是否存在长度为6,大小为32和距离为2的二进制代码?
问题是证明或反对,st,的存在。 ; ; 。(代表汉明距离)CCC|c|=6,∀c∈C|C|=6,∀C∈C|c| = 6,\forall c\in C|C|=32|C|=32|C| = 32d(ci,cj)≥2,1≤i&lt;j≤32d(C一世,CĴ)≥2,1个≤一世&lt;Ĵ≤32d(c_i,c_j)\geq2,1\leq i<j\leq32ddd 我试图构造一个令人满意的代码。我能得到的最好结果是让(的串联,其大小为恰好是该大小的理论上限,现在我不知道不知道下一步该怎么做才能解决问题。C=C′×C′C=C′×C′C = C'\times C'C′={000,011,110,101}C′={000,011,110,101}C' = \{000,011,110,101\}
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.