问题列表 - 第7857页

如何计算圆周长的点?

如何在各种语言中实现以下功能?

(x,y)在给定输入值的情况下计算圆周上的点:

  • 半径
  • 角度
  • Origin(可选参数,如果语言支持)

algorithm math trigonometry

215
推荐指数
4
解决办法
26万
查看次数

C#StructLayout/FieldOffset和数组索引

我在使用FieldOffset时遇到了一些问题.下面的代码是一个例子,它对我不起作用:

[StructLayout(LayoutKind.Explicit)]
public struct IndexStruct {
    [FieldOffset(0)]
    public byte[] data;

    [FieldOffset(0)]
    public short[] idx16;

    [FieldOffset(0)]
    public int[] idx32;
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我将名为"data"的数组设置为序列化字节数组,然后尝试使用"idx16"字段将数据检索为short,则索引仍然作为byte []对齐.这意味着idx16 1获取数据中的第二个字节,而不是第二个16位字(字节2和3).如果我执行逆I索引短路而不是字节,则意味着偏移对齐从源数据继承.我的问题是,有办法解决这个问题吗?我知道我可以通过乘以元素的大小来补偿索引值,但还有另一种方法吗?

是我在StackOverflow上找到的答案,但在尝试该代码时,结果证明它无法正常工作.使用以下代码在VS中使用单元测试尝试使用它,但没有成功:

[TestMethod()]
public void SumTest() {
    float[] fArr = {2.0f, 0.5f, 0.0f, 1.0f};
    MemoryStream ms = new MemoryStream();
    for (int i = 0; i < fArr.Length; i++) {
        ms.Write(BitConverter.GetBytes(fArr[i]), 0, sizeof(float));
    }
    byte[] buff = ms.ToArray();
    double expected = 3.5f;
    double actual = Sum(buff);
    Assert.AreEqual(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)

提前谢谢了!

c# arrays indexing field alignment

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

MySQL/SQL:使用更新表本身的相关子查询进行更新

我有一个通用的问题,我将尝试使用一个例子来解释.

假设我有一个包含字段的表:"id","name","category","appearances"和"ratio"

我的想法是,我有几个项目,每个项目都与一个类别有关并且多次"出现".比率字段应包括每个项目出现的百分比,超出该类别中项目的总出现次数.

在伪代码中我需要的是以下内容:

  • 对于每个类别,
    查找与其相关的项目的外观总和.例如,它可以用(select sum("appearances") from table group by category)完成

  • 对于每个项目,
    将比率值设置为项目的外观除以上面类别的总和

现在,我正在尝试使用单个更新查询来实现此目的,但似乎无法做到这一点.我认为我应该做的是:

update Table T    
set T.ratio = T.appearances /   
(    
select sum(S.appearances)    
from Table S    
where S.id = T.id    
)
Run Code Online (Sandbox Code Playgroud)

但MySQL不接受更新列中的别名T,我没有找到实现此目的的其他方法.

有任何想法吗?

mysql sql correlated-subquery sql-update

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

是否可以恢复整个SVN存储库?

我只是对我的SVN存储库做了一些愚蠢的事情,我不小心将一大堆东西导入到根目录而不是子文件夹中.我需要很长时间才能清理....除非有一个简单的方法对回购进行全局还原?帮助文件讨论了还原工作副本,但新导入的项目没有工作副本.有没有办法撤消导入?

重复:回滚或将整个svn存储库还原为旧版本

svn undo

3
推荐指数
1
解决办法
2296
查看次数

有关在Delphi中分离数据访问,业务逻辑和GUI的任何建议

我想将数据层与业务逻辑和业务逻辑从GUI分离.潜入网络我偶然发现了一些资源,但仍无法让我清醒.有些人谈论的模式,其他人指出各种框架.我的要求是:

  • 从rdbms(主要是mysql)操作数据CRUD操作
  • 处理id生成(我应该使用自动增量或提供的数据引擎还是生成的pascal代码)
  • 表关系可能是合乎逻辑的(不使用引用完整性)
  • 需要能够从数据模型生成对象关系
  • 数据必须转换为业务对象和业务逻辑操纵
  • 应使用现有的gui组件或免费软件

我需要的是:

  • 一些基本示例代码/应用程序布局的指导技巧/建议(例如units-classes-modules-directories)...当我不是OOP专家时,我必须设计类层次结构时感到困惑
  • 一个带教程的简单框架
  • 甚至是你自己的日常代码/框架/方法

delphi orm user-interface business-logic-layer business-objects

6
推荐指数
2
解决办法
4106
查看次数

C++中的自定义迭代器

我有一个类TContainer,它是指向TItems类的几个stl集合指针的集合.

我需要创建一个迭代器来遍历我的TContainer类中所有集合中的元素,从而抽象出内部工作的客户端.

这样做有什么好办法?我应该创建一个扩展迭代器的类(如果是这样,我应该扩展什么迭代器类),我应该创建一个迭代器类,它是迭代器的集合吗?

我只需要一个FORWARD_ONLY迭代器.

IE,如果这是我的容器:

typedef std::vector <TItem*> ItemVector;
class TContainer {
   std::vector <ItemVector *> m_Items;
};
Run Code Online (Sandbox Code Playgroud)

遍历m_Items成员变量向量中包含的所有项的好迭代器是什么.

c++ iterator stl

29
推荐指数
4
解决办法
4万
查看次数

用其他语言编写JavaScript

我有一些不会说英语的客户.他们希望我为他们编写的JavaScript使用另一种语言.

浏览器可以理解其他语言,还是仅限于非英语注释?

navigateur.nomApp.indice("Microsoft")
Run Code Online (Sandbox Code Playgroud)

代替 :

navigator.appName.indexOf("Microsoft")
Run Code Online (Sandbox Code Playgroud)

html javascript multilingual

1
推荐指数
4
解决办法
2070
查看次数

SSH Windows到UNIX

我从连接到UNIX服务器的Windows机器上构建了一个批处理文件.我然后希望命令在批处理文件中在UNIX中执行.登录到服务器后,UNIX似乎无法识别我的命令.这是我编码的:

ssh SERVERNAME退出

现在,我只是想让它登录并退出.我登录到服务器,但是然后退出命令没有执行.有人知道在我使用这个批处理文件登录后让UNIX执行我的命令吗?

unix windows ssh shell

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

如何从HttpServlet获取客户端的MAC地址?

我被要求编写一个servlet来收集客户端的详细信息,如ip,mac address等.

获取他的IP是非常直接的(request.getRemoteAddr())但我没有找到一个优雅的方式来获取他的MAC地址.

似乎合理的是,Web服务器可以访问诸如Mac地址等数据,因为它获取TCP数据包等等.这个数据在哪里注册?它可以访问吗?

(我正在Tomcat6上工作)

java tomcat servlets tcp

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

如何在程序集中编译c ++ by-ref参数传递?

在大学的最后几年,我有一个关于编译器的课程.我们为C的子集创建了一个编译器.我一直想知道如何在C++中将pass-by-ref函数调用编译成汇编.

根据我的记忆,pass-by-val函数调用遵循以下过程:

  • 存储PP的地址
  • 将参数推入堆栈
  • 执行功能调用
  • 在函数中,从堆栈中弹出参数

传递参考有什么不同?(int void(int&);)

编辑:

我可能听起来完全失去了,但是,如果你能帮助我,我真的很感激.

每个人的答案基本上都是传递地址而不是值.我明白这基本上是指针传递的东西.那么,为什么这两个函数表现得不同呢?:

struct A {
    int x;
    A(int v){
        x = v;
    }
};

int byRef(A& v){
    v = A(3);
    return 0;
}

int byP   (A* v){
    v = &A(4); //OR new A(4)
    return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
    A a (1); A b (2);
    byRef(a); byP  (&b);
    cout << a.x << " " << b.x;

    system("pause");

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我知道在byP(A*)中,v是按值传递的,因此,它不会影响调用者的参数.那么,你如何用A*实现byRef(A&)?

c++ compiler-construction assembly

4
推荐指数
1
解决办法
4194
查看次数