小编mbr*_*ero的帖子

如何表示整数大于整数的整数

有没有办法使用STD_LOGIC_1164或STD_NUMERIC中的预定义类型来表示0到2 ^ 32-1之间的整数?(考虑到默认的整数类型范围从-2 ^ 31-1到2 ^ 31-1)

我需要实现32位计数器,并且正在寻找一些使用整数类型而不是std_logic_vector来保存代码的方法.任何设计模式都适用于此?

或者,更好的问:什么是声明支持操作的32位(无符号)整数的最佳方式>/<,=,+ - /?

Tahnks提前

Edit1:我发现一个选项是将信号声明为std_logic_vector(31 downto 0),并在进行比较或+ - 操作时执行转换.ex:counter <= counter + std_logic_vector(unsigned(value)+ 1)..仍然没有找到做分工的方法(例如,如果需要1/4的计数器价值)

vhdl

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

为什么我的重载<<运算符不工作?

我试图了解如何正确地重载"<<"运算符,以便我可以使用

std::cout << my_object; 
Run Code Online (Sandbox Code Playgroud)

打印有用的调试消息.特别是,我需要为每个子类都有一个<<的实现,所以我声明<<在超类中是虚拟的.

现在我坚持使用以下代码

#include <iostream>

using namespace std;

class Shape {
public:
    virtual ~Shape() { };

    virtual ostream& operator<<(std::ostream &strm) = 0;
};

class Square : public Shape {
    int size;
public:
    Square() { size = 10; }
    ~Square() { }

    ostream& operator<<(std::ostream &strm) {
        return strm << "a square with size " << size;
    }
};

int main() {
    Square *my_square = new Square();

    cout << "my_square is " << my_square << "\n";
}
Run Code Online (Sandbox Code Playgroud)

(我认为)应该工作,但不是.使用"<<"时得到的是my_square的指针值被打印,而不是重载<<的结果.

$ …
Run Code Online (Sandbox Code Playgroud)

c++

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

如何将类似表格的文件读入多个数组(bash)

如果我有一个包含多个字符串的文件 example1.txt

str1
str2
str3
...
Run Code Online (Sandbox Code Playgroud)

我可以通过使用将它们读入 bash 数组

mapfile -t mystrings < example1.txt.
Run Code Online (Sandbox Code Playgroud)

现在说我的文件 example2.txt 被格式化为表格

str11 str12 str13
str21 str22 str23
str31 str32 str33
...   ...   ...
Run Code Online (Sandbox Code Playgroud)

我想将每一列读入不同的数组。我知道我可以使用其他工具(例如 awk)将每一行分隔为字段。有什么方法可以将此功能与 mapfile 结合起来吗?我正在寻找类似的东西

mapfile -t firstcol < $(cat example2.txt | awk '//{printf $1"\n"}')
mapfile -t secondcol < $(cat example2.txt | awk '//{printf $2"\n"}')
Run Code Online (Sandbox Code Playgroud)

(这不起作用)。

关于如何在 bash 中处理表格的任何其他建议也是受欢迎的。

bash

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

堆积的ggplot2条形图中的连续轮廓

假设我有一个看起来像这样的数据框df.

Year   value     type
2000    150    Type 1
2000    200    Type 1
2000     70    Type 2
2000     20    Type 1
2005     50    Type 2
2005     80    Type 2
2005     50    Type 1
2005     50    Type 1
Run Code Online (Sandbox Code Playgroud)

我要绘制的价值,无论其类型.有了ggplot,我可以做到

ggplot(df) +
    geom_col(aes(x = x, y = y),
             colour = "black", fill = "dodgerblue2")
Run Code Online (Sandbox Code Playgroud)

得出以下图:

情节示例

该图显示了每个观察之间的分离(由于/颜色/参数,分隔框的黑线),如果我只对总数感兴趣,这是不希望的.

是否有某种方法可以绘制每年整个酒吧的轮廓,忽略个别观察?

我希望实现的是这样的:

在此输入图像描述

Ps1:为MWE生成数据帧的代码

df <- data.frame(
    year = as.factor(c(2000, 2000, 2000, 2000, 2005, 2005, 2005, 2005)),
    value = c(150, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

标签 统计

bash ×1

c++ ×1

ggplot2 ×1

r ×1

vhdl ×1