小编psi*_*lia的帖子

C - "char var []"和"char*var"之间的区别?

我期待以下两个向量在RAM中具有相同的表示:

char a_var[] = "XXX\x00";
char *p_var  = "XXX";
Run Code Online (Sandbox Code Playgroud)

但奇怪的是,f(char argument[])如果我调用它,对类型库函数的调用会破坏正在运行的应用程序f(p_var).但使用还f(a_var)可以!

为什么?

c arrays string pointers

16
推荐指数
1
解决办法
6353
查看次数

Python,Ruby,Haskell - 它们提供真正的多线程吗?

我们计划用任何超高级编程语言编写高度并发的应用程序.

1)Python,Ruby或Haskell是否支持真正的多线程?

2)如果程序包含线程,虚拟机是否会自动将工作分配给多个内核(如果主板上有多个CPU,则自动分配给物理CPU)?

真正的多线程 =多个独立的执行线程利用多个核心提供的资源(而不仅仅是1个核心).

虚假多线程 =线程模拟多线程环境,而不依赖于任何本机操作系统功能.

ruby python concurrency multithreading haskell

16
推荐指数
4
解决办法
6828
查看次数

用Java编写的程序是否比嵌入到Objective-C for iOS中的C语言编写的程序慢?

为了确定开始将现有的iOS应用程序(用C语言编写)移植到Android是否合理,我必须估计如果用Java实现它的速度有多快.一些问题是Java代码必须翻译多次(到字节码,然后到使用JIT的本地代码).它可能会对实时属性(响应性)产生负面影响,对吧?

生成代码的质量如何?它在某种程度上与gcc/llvm生成的代码相当吗?如果是,您是否参考了比较结果(纸张)?

c java android objective-c ios

16
推荐指数
1
解决办法
1万
查看次数

如何测试命名管道是否存在?

为了测试文件是否存在,我做:

if [ -f $FILE ];
Run Code Online (Sandbox Code Playgroud)

但是如果$ FILE是一个命名管道,它就不起作用,例如ls -l pipename显示一个带p属性的管道:

prw-r--r-- 1 usr grp 0 Nov 26 02:22 pipename
Run Code Online (Sandbox Code Playgroud)

如何测试命名管道是否存在?

bash

16
推荐指数
2
解决办法
1万
查看次数

快速点产品,适用于非常特殊的情况

给定大小为L的向量X,其中X的每个标量元素来自二进制集{0,1},如果大小为L的向量Y由整数组成,则找到点乘积z = dot(X,Y)价值元素.我建议,必须有一种非常快速的方法来做到这一点.

假设L=4; X[L]={1, 0, 0, 1}; Y[L]={-4, 2, 1, 0}我们必须找到z=X[0]*Y[0] + X[1]*Y[1] + X[2]*Y[2] + X[3]*Y[3](在这种情况下会给我们-4).

很明显,X可以使用二进制数字表示,例如,对于L = 32,整数类型为int32.然后,我们要做的就是找到这个整数的点积和一个32个整数的数组.您是否有任何想法或建议如何快速完成?

c c++ algorithm math

15
推荐指数
1
解决办法
3455
查看次数

如何在二进制堆实现的优先级队列中保留相同优先级元素的顺序?

我创建了一个二进制堆,它代表一个优先级队列.它只是经典的众所周知的算法.此堆计划不同事件的时间顺序(排序键是时间).

它支持2种操作:插入和删除.堆的每个节点的密钥大于或等于其每个子节点.但是,使用相同的键添加事件不会保留它们的添加顺序,因为每次调用Remove或Insert后,堆启动和堆降过程都会破坏顺序.

我的问题是:在经典算法中应该改变什么以保持具有相同优先级的节点的顺序?

c algorithm priority-queue binary-heap

15
推荐指数
1
解决办法
5678
查看次数

如何快速找到二进制对数?(O(1)充其量)

有没有非常快的方法来找到整数的二进制对数?例如,给定一个数x = 52656145834278593348959013841835216159447547700274555627155488768这样的算法必须找到定义Y = Log(X,2),它是215 x为总是2的幂.

问题似乎很简单.所需要的只是找到最重要的1位的位置.有一个众所周知的方法FloorLog,但它不是很快,特别是对于很长的多字整数.

什么是最快的方法?

algorithm math logarithm numerical-methods

14
推荐指数
3
解决办法
3万
查看次数

C - 浮点数的序列化(浮点数,双精度数)

如何将浮点数转换为字节序列,以便它可以保存在文件中?这种算法必须快速且高度便携.它必须允许相反的操作,反序列化.如果每个值(持久空间)只需要非常微小的多余位,那就太好了.

c floating-point floating-point-conversion

13
推荐指数
1
解决办法
1万
查看次数

特殊的简单随机数发生器

如何创建一个函数,在每个调用中生成一个随机整数?该数字必须尽可能最随机(根据均匀分布).它只允许使用一个静态变量和最多3个基本步骤,其中每个步骤仅包含arity 1或2的一个基本算术运算.

例:

int myrandom(void){
  static int x;
  x = some_step1;
  x = some_step2;
  x = some_step3;
  return x;
}
Run Code Online (Sandbox Code Playgroud)

基本算术运算是+, - ,%,而不是xor,或左移,右移,乘法和除法.当然,不允许使用rand(),random()或类似的东西.

c c++ algorithm math

12
推荐指数
2
解决办法
2万
查看次数

如何输出矩阵尺寸及其内容?

是否有可能使GNU Octave与其内容一起输出矩阵尺寸?例如,它应该产生smth.像这样:

octave:1> X = [1 2; 3 4]

X [2x2] =

   1   2
   3   4


octave:2> X(1,:)

ans [1x2] =

   1   2
Run Code Online (Sandbox Code Playgroud)

matlab octave

12
推荐指数
3
解决办法
2523
查看次数