小编Flo*_*ose的帖子

使用参数在verilog中创建常量

我想接受一个参数并将一个等于参数的零分配给一个常量,并使用此常量进行比较.我该怎么做 ?

例如,说参数是3,我想创建一个常量

n=3'b000;
Run Code Online (Sandbox Code Playgroud)

并在另一个声明中使用此n.唯一的问题是,我不知道n.我如何初始化'n'零和我分配给它的verilog数据类型?

verilog

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

递归和记忆

我有一个程序通过递归传递大量数据,比如1000个变量.递归将至少运行50或60次.我担心的是,是否存在数据被覆盖在内存位置上的可能性,因为没有太多空间,或者如果情况没有内存,我会得到程序内存的异常已经用完(我收到没有这样的错误)?

是否有可能得到错误的解决方案,因为该程序没有更多的内存并且在现有位置上覆盖?

java recursion memory-management

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

优先队列和Prim算法

我已经阅读了C++参考手册,目前还不清楚如何在STL中使用priorityqueue数据结构.

所以,基本上我一直在尝试使用堆来实现自己的.

我这样做是为了实现Prim的算法.

Vector <int, int> pq;
Run Code Online (Sandbox Code Playgroud)

这是我的优先队列.第一个字段是节点,第二个字段是现有树的权重.

我计划每次通过更新其邻居节点的权重将新节点添加到树中时修改pq中的权重值.

  • 如何访问此向量的各个元素?我还需要能够随意删除元素.

这是实现优先级队列的好方法吗?如果我想在容器中添加另一个字段,即

Vector<int, int, int> MST
Run Code Online (Sandbox Code Playgroud)
  • 我如何访问第三个元素?我希望以这种方式存储生成的MST,使得前两个字段表示形成边缘的顶点,第三个字段表示权重.

如果有人能告诉我如何使用push_back为这个向量分配元素,这也会有所帮助.

  • 此外,传统的C++ STL优先级队列是否有助于此,因为每次将新元素添加到MST时我需要更新优先级值?当值被修改时,它会根据优先级自我纠正吗?

  • 另外一个问题,这些向量,当我将它们传递给函数,并尝试进行更改时,它是值传递还是通过引用传递 - 或者,更改是否反映在函数外部?

c++ algorithm stl

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

用于查找Endianness指针类型转换的代码

我试图搜索一个代码来确定系统的字节顺序,这就是我发现的:

int main()
{
    unsigned int i= 1;
    char *c = (char *)&i;
    if (*c) {
        printf("Little Endian\n");
    } else {
        printf("Big Endian\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

有人能告诉我这段代码是如何工作的吗?更具体地说,为什么在这个类型转换中需要&符号:

char *c = (char *)&i;
Run Code Online (Sandbox Code Playgroud)

什么被存储到指针c ..我包含的值或实际地址i包含在?另外为什么这个程序的字符?

c c++ endianness

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

标签 统计

c++ ×2

algorithm ×1

c ×1

endianness ×1

java ×1

memory-management ×1

recursion ×1

stl ×1

verilog ×1