- 浏览: 310783 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
用C去操作集合,有时候觉得十分的麻烦,不过,集合又一定要用。苦思了一些日子,当集合遇到了二进制,也当二进制到了位运算。这个就很好解决。建立这样的一个模型,当集合A有元素a,就用1在a相应的位表示出来,否则就为0 。
一个例子:A={a,b,c} --------7(111)
A有一字集A1={a,c}-------------5(101)
就这样表示。
集合与二进制有一个很思意的相同点,n个元素的集合有2^n个子集;n位的二进制有2^n个表示方法,好吧,让他们对应起来吧。
对于集合B={a,b},看下面:
+--------+--------+--------+
| 集合 | 二进制| 整数 |
+--------+--------+--------+
| 空集 | 00 | 0 |
+--------+--------+--------+
| {a} | 01 | 1 |
+--------+--------+--------+
| {b} | 10 | 2 |
+--------+--------+--------+
| {a,b} | 11 | 3 |
+--------+--------+--------+
就这样了。对于集合的操作也就是相应的操作了,写一个C代码看得具体一点。
#include<stdio.h> void bin_to_set(unsigned int x , char e[]){ int i = 0,f = 0 ; printf("{") ; while(x > 0){ if((x & 1) == 1) { if(f == 0) {printf("%c",e[i]) ; f = 1 ;} else printf(",%c",e[i]) ; } ++i ; x >>= 1 ; } printf("}") ; } unsigned int U(unsigned int x1 ,unsigned int x2){//并 return ( x1 | x2 ) ; } unsigned int C(unsigned int x1 ,unsigned int x2){//交 return ( x1 & x2 ) ; } unsigned int N(unsigned int x,int n){//非 return (((1<< n) -1) ^ x) ; } int E(unsigned int x1 ,unsigned int x2){//x2是否包括x1 return ( (x1 | x2) == x2 ) ; } void hind_set( char *c,int n){ int m = 1 << n ; int i ; for(i = 0 ;i < m ; ++i){ bin_to_set(i,c) ; printf("\n") ; } } int main(){ char c[] = {'a','b','c'} ; printf("{a,b,c}的幂集:\n") ; hind_set(c,3) ; unsigned x1 = 5 ;//{a,c} unsigned x2 = 3 ;//{a,b} unsigned x = 7 ;//{a,b,c} printf("{a,c}与{a,b}并:") ; bin_to_set(U(x1,x2),c) ; printf("\n{a,c}与{a,b}交:") ; bin_to_set(C(x1,x2),c) ; printf("\n{a,c}的非:") ; bin_to_set(N(x1,3),c) ; printf("\n{a,c}是{a,b}的子集吗? %d",E(x1,x2)) ; printf("\n{a,c}是{a,b,c}的子集吗? %d",E(x1,x)) ; return 0 ; }
看一看结果:
发表评论
-
vs2008【断点无效】解决方法
2015-04-13 10:05 796有时候,我们在用vs2008调试的时候,会出现断点无效。如下 ... -
C++模板之特化与偏特化详解
2015-01-07 14:44 844转自:http://www.jb51.net/a ... -
c++中的typename与class<转>
2015-01-07 08:51 834在泛型编程的形参表中,关键字typename和class具有 ... -
traits:Traits技术初探
2015-01-06 12:49 811概述:traits是一种特性萃取技术,它在Generic ... -
POD型别
2015-01-06 12:37 775POD全称Plain Old Data。通俗的讲,一个类或结 ... -
c++核心基础知识(内存管理)
2015-01-04 22:22 712内存管理是C++最令人切 ... -
内存分配器<转>
2015-01-04 22:07 1396题记:内存管理一直 ... -
operator new在C++中的各种写法
2015-01-04 19:27 1220http://blog.sina.com.cn/s/blo ... -
可变参数va_list
2014-12-26 17:45 8881.要在函数中使用参数,首先要包含头文件<stdarg ... -
Apriori算法
2014-12-15 12:56 676http://blog.csdn.net/lizhengn ... -
map注意的两个问题
2014-12-11 14:21 648代码1 void main() { ... -
关于C++ const 的全面总结<转>
2014-11-14 12:56 767C++中的const关键字的用法非常灵活,而使用const ... -
C++DLL编程详解
2014-10-08 19:44 1671DLL(Dynamic Link Library)的 ... -
C++&&QT调试时出现的一些错误
2014-10-08 15:14 798错误 原因 解决 ... -
【转】C++ function、bind以及lamda表达式
2014-09-11 09:42 888本文是C++0x系列的第四篇,主要是内容是C++0x中新增 ... -
STL函数对象及函数对象适配器【转】
2014-09-10 09:24 499一 函数对象Functor STL中提供了一元和 ... -
typedef和typename关键字[转]
2014-09-10 09:21 6971、类型说明typedef 类型说明的格式为: type ... -
C/C++中extern关键字详解[转]
2014-09-09 11:38 5131 基本解释:extern可以置于变量或者函数前,以标示变量 ... -
MYSQL在C—API 中可用的函数
2014-08-24 23:03 612mysql_affected_rows() 返 ... -
编辑距离算法
2014-08-14 00:02 985字符串编辑距离: 是一种字符串之间相似度计算的方法。给定两个 ...
相关推荐
在本案例中,我们关注的是使用C语言实现的二进制遗传算法。 一、遗传算法基础概念: 1. 个体:遗传算法中的每个解决方案称为个体,通常用一个编码串来表示,如二进制串。 2. 编码:个体的基因编码方式,对于二进制...
任何数字系统都可以用基于某个基数(进制数)的符号集合来表示数字。例如,十进制系统使用0到9这十个符号,而二进制系统只使用0和1。要将十进制数转换为其他进制,我们可以采用“除基取余”方法,它分为以下步骤: ...
GRIB(通用定标二进制格式)和NetCDF(网络通用数据格式)是气象数据常用的两种文件格式。GRIB格式是专为存储数值天气预报产品设计的二进制编码方式,它具有较强的数据压缩能力。NetCDF则是自描述的数据格式,不仅...
C语言提供了丰富的文件操作接口,如`fopen`、`fclose`、`fread`、`fwrite`等,可用于读写文本文件或二进制文件。在课程设计中,可能需要实现文件数据的保存和加载功能。 8. **调试与优化** 在实际编程中,调试是...
计算机的工作原理基于三个核心概念:二进制表示、存储程序方式以及五大组成部件。 - **二进制表示**:计算机内部所有信息均以二进制(0和1)的形式存在,这种表示方法易于硬件实现,通过电路的开关状态(闭合或断开...
- 计算机语言:基于二进制(0和1),从机器语言到高级语言。低级语言直接对应硬件指令,而高级语言如C语言则更接近人类思维,简化了程序员与计算机之间的交流。 2. **二进制、字节与机器语言** - 二进制:计算机...
在学生成绩管理系统中,我们可能会使用二进制文件(如 stu.dat)来持久化存储学生数据,通过读写文件函数来实现数据的保存和加载。 最后,项目中的Makefile.win文件用于自动化编译过程,这在大型项目中尤为重要,它...
在计算机科学中,二进制是最基本的表示方式,因为所有的计算都基于二进制电路。而其他进制则常用于简化表示或便于人类理解。 进制转换通常分为两种类型:从一种进制转换到另一种进制,以及从十进制转换到其他进制。...
根据给定的文件信息,我们可以总结出两个与...第一种方法基于二进制数的特性,更注重数学原理的应用;而第二种方法则更加直观,易于理解和实现。两种方法各有优缺点,具体选择哪一种取决于实际应用需求和个人偏好。
- `printf`函数用于输出,格式化字符串中的`%d`表示输出十进制整数。 5. **流程控制**: - 条件语句如`if`用于基于条件执行不同的代码块。 - 循环结构如`while`和`for`用于重复执行一段代码直到满足特定条件。 ...
文件是指一组相关数据的集合,它可以在计算机内部以二进制形式存在,也可以通过特定的编码方式进行展示,例如ASCII码文件。C语言是一种广泛使用的编程语言,它提供了丰富的文件操作函数,允许程序员能够轻松地对文件...
UPPAAL建模语言通过引入有界整型变量、二进制、广播通道、紧迫位置和坚定位置的概念扩展了时间自动机。时空自动机被建模为一系列位置和连接这些位置的边的集合。 System C语言在模型检测中的应用主要体现在以下几...
这涉及到二进制计数和位运算,因为每个元素可以存在或不存在,对应二进制的0或1。 7. **元素测试(Element Test)**:检查一个元素是否属于某个集合。这可以通过简单的查找操作实现,如果找到元素则返回真,否则返回...
字库,又称字体库,是一系列预定义的字符形状集合,通常以二进制格式存储。每个字符都有一个特定的编码,如ASCII或Unicode。在C语言中,我们可以使用字库来显示文本,通常是通过控制显示器的像素或调用图形库函数。 ...
对于输入文本中的每个字符,用对应的Huffman编码替换,得到压缩后的二进制字符串。解压缩时,根据编码表逆向操作,将二进制字符串还原为原始文本。 在提供的压缩包文件`HuffmanTree`中,可能包含了实现以上过程的源...
在压缩包中,"BIN"通常表示二进制文件的集合,这可能包含了Turbo C的所有可执行文件和其他支持文件,如动态链接库、头文件、库文件等。这些文件对于构建完整的TC编程环境至关重要。 使用Turbo C,开发者可以利用其...
- **最大10位无符号二进制整数**:最大10位无符号二进制整数为`1111111111`(即`2^10 - 1`),其值为1023。将其转换为八进制,结果为1777。 #### 三、PC机CPU基础知识 - **CPU供应商**:Intel和AMD是全球领先的CPU...
1. **编码方式**:遗传算法中的个体通常用二进制编码或浮点数编码来表示可能的解。在C语言实现中,可以使用结构体存储每个个体的基因,如double数组表示解的各个维度值。 2. **初始种群**:算法开始时需要生成一个...