有没有办法使用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的计数器价值)
我试图了解如何正确地重载"<<"运算符,以便我可以使用
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) 如果我有一个包含多个字符串的文件 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 中处理表格的任何其他建议也是受欢迎的。
假设我有一个看起来像这样的数据框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)