2012年1月6日

基本数据类型 转载

摘要: 基本类型学习小结环境: Dev-C++ 4.9.6.0 (gcc/mingw32), 使用-Wall编译选项基本类型包括字节型(char)、整型(int)和浮点型(float/double)。定义基本类型变量时,可以使用符号属性signed、unsigned(对于char、int),和长度属性short、long(对于int、double)对变量的取值区间和精度进行说明。下面列举了Dev-C++下基本类型所占位数和取值范围:符号属性长度属性基本型所占位数取值范围输入符举例输出符举例----char8-2^7 ~ 2^7-1%c%c、%d、%usigned--char8-2^7 ~ 2^7-1% 阅读全文

posted @ 2012-01-06 12:20 kyleada 阅读(573) 评论(0) 推荐(0) 编辑

2011年10月31日

三次握手

摘要: 1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。ACK:确认标志 确认编号(Acknowledgement Number)栏有效。大多数情况下该标志 TCP三次握手是Syn Flood存在的基础位是置位的。TCP报头内的确认编号栏内包含的确认编号(w+1,Figure:1)为... 阅读全文

posted @ 2011-10-31 08:56 kyleada 阅读(223) 评论(0) 推荐(0) 编辑

2011年10月30日

数组指针

摘要: 设有“int w[3][4];”,pw是与数组名w等价的数组指针,则pw的初始化语句为??int (*pw)[4] = w;(3分二维数组和指针2007-09-12 19:455947人阅读评论(6)收藏举报二维数组和指针⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个整体,即视为一个大的数组元素时,这个存储的二维数组也就变成了一个一维数组了。而每个大数组元素对应二维数组的一行,我们就称之为行数组元素,显然每个行数组元素都是一个一维数组下面我们讨论指针和二维. 阅读全文

posted @ 2011-10-30 20:14 kyleada 阅读(291) 评论(0) 推荐(0) 编辑

2011年10月19日

float与double的范围和精度 转载

摘要: 1 范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位)8bits(指数位)23bits(尾数位)double:1bit(符号位)11bits(指数位)52bits(尾数位)于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。float的范围为-2^128 ~ +2^128,也即-3.40 阅读全文

posted @ 2011-10-19 21:18 kyleada 阅读(203) 评论(0) 推荐(0) 编辑

2011年10月10日

结构体 联合体内存对齐

摘要: #include "stdio.h"void main(){ int a=sizeof(unsigned long); int b=sizeof(short int); struct Student { unsigned long id; char name[30]; char calss[30]; }oStu1; for (int i=0;i<30;i++) { oStu1.name[i]=i; } for (i=0;i<30;i++) { oStu1.calss[i]=i; } printf(" %d",sizeof(oStu1));// 阅读全文

posted @ 2011-10-10 10:28 kyleada 阅读(524) 评论(0) 推荐(0) 编辑

2011年8月25日

求职相关单位 记个录

摘要: 以前从来不知道还有这些公司 记录下 以后找工作留个心。英语得好!法国电信北京研发,招聘Android,MFC等英国电信等。 阅读全文

posted @ 2011-08-25 10:14 kyleada 阅读(145) 评论(0) 推荐(0) 编辑

2011年8月11日

typedef

摘要: typedef struct tagMyStruct{ int iNum; long lLength;} MyStruct;这语句实际上完成两个操作:1) 定义一个新的结构类型struct tagMyStruct{ int iNum; long lLength; };分析:tagMyStruct称为“tag”,即“标签”,实际上是一个临时名字,struct 关键字和tagMyStruct一起,构成了这个结构类型,不论是否有typedef,这个结构都存在。我们可以用struct tagMyStruct varName来定义变量,但要注意,使用tagMyStruct varName来定义变量是不对 阅读全文

posted @ 2011-08-11 20:43 kyleada 阅读(366) 评论(0) 推荐(0) 编辑

转载 二叉树的创建、遍历、深度、叶子节点数

摘要: 1 # include <stdio.h> 2 # include <malloc.h> 3 typedef struct BiTNode{ 4 struct BiTNode *lchild; 5 struct BiTNode *rchild; 6 }treeNode, *tNode; 7 void createTree(int a[]) 8 { 9 } 10 /** 11 * 插入节点到二叉树中 12 */ 13 void insert(tNode root,int data) 14 { 15 tNode newNode = (tNode)malloc(sizeof( 阅读全文

posted @ 2011-08-11 20:36 kyleada 阅读(537) 评论(0) 推荐(0) 编辑

CUDA调试 数组传进kernel

摘要: 之前采用的是:在Doc.cpp里,定义,并调用函数得到Gauskernel数组float Gauskernel[(2*f+1)*(2*f+1)]={0.0};make_Gauskernel(f,Gauskernel,2*f+1,2*f+1);然后NlmDenoise(pGpuData,pResult,PicWidth,PicHeight,Gauskernel);//此函数在host.cu里定义然后host.cu里调用kernel.cu。调试了超过2天,各种怀疑,最后终于认定是这个错误。不能这么传值。先cudaMalloc((void **)&kernel, sizeof(float)* 阅读全文

posted @ 2011-08-11 19:35 kyleada 阅读(1259) 评论(0) 推荐(0) 编辑

CUDA在Debug下编译有错而Release下无错

摘要: 错误提示:1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in msvcrtd.lib(MSVCR90D.dll)1>LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined in msvcrtd.lib(MSVCR90D.dll)1>LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer already defined in 阅读全文

posted @ 2011-08-11 18:04 kyleada 阅读(1668) 评论(1) 推荐(0) 编辑

导航