给定C语言的数据结构
struct T
{
int w;
union T { char c; int i; double d; } U;
};
假设char类型变量的存储区大小是1字节,int 类型变量的存储区大小是4字节,double类型变量的存储区大小是8字节,则在不考虑字对齐方式的情况下,为存储一个struct T类型变量所需要的存储区域至少应为( )字节。
在不考虑字对齐规则的情况下,C语言中一个结构体变量的存储区大小就是其所有成员所需存储区大小之和,一个联合体变量的存储区大小就是其各成员所需存储区大小中的最大者。因此题目中给定的联合体union T变量需要的存储区大小就是存储一个double类型变量的大小(即8字节),struct T类型变量的存储区最小应为int类型成员w存储区大小(4字节)与union T类型成员U的存储区大小之和,即12字节。
由a、b构造且仅包含偶数个a的串的集合用正规式表示为( )。
在正规式中,符号*表示重复若干次(包括0次),因此正规式“(a*a)*b*”中的表达式“(a*a)*”不能保证有偶数个a。同理,“(a*(ba*)*b)*”和“(a|b)*(aa)*”中对a的个数也没有限制,而在“(ab*a)*”中可以确保a的出现为偶数个。
ISO/IEC 9126软件质量模型
功能性(适合性、准确性、互用性、依从性、安全性);
可靠性(成熟性、容错性、易恢复性);
易使用性(易理解性、易学性、易操作性);
效率(时间特性、资源特性);
可维护性(易分析性、易改变性、稳定性、易测试性);
可移植性(适应性、易安装性、一致性、易替换性)。
海明码中所需要的校验码位数,有这样的规定:假设用N表示添加了校验码位后整个信息的二进制位数,用K代表其中有效信息位数,r表示添加的校验码位,它们之间的关系应满足:2r>=K+r+1=N。