- 博客(30)
- 收藏
- 关注
原创 C语言——
下面这段程序f(657, 789)输出的值为多少int f(int x, int y){return (x&y)+((x^y)>>1)}分析:题目中的&和^都是位运算,所以我们有必要研究数据的对位情况。任何数据只有3中情况。1) 0 与 0对应2) 0 与 1对应3)1 与 1对应那么它们分别什么诀窍呢?举例子来说:0101 和1101 也就是x和y分别为
2016-11-30 21:39:25 370
转载 C语言——使用scanf函数时需要注意的问题
转自:http://blog.csdn.NET/wayne92 scanf函数我曾经在这个函数上犯过不少错误,也看到别人犯过的错误,记下来,提醒自己不要重蹈覆辙了。如果对你有用,那就更好了:)如果你发现文章中有错误,欢迎你不吝赐 教。希望和大家一起学习!曾经错的几个地方:(xpsp2,vc6.0环境下)1.空白符问题[cpp] view pla
2016-11-29 22:45:18 1142
原创 C语言——strlen(a)的值为多少
#include "stdio.h"#include "string.h"int main(){ char a[1000]; int i; for(i=0; i<1000; i++) { a[i] = -1-i; } printf("%d",strlen(a)); return 0;}此题看上去真的很简单,但是却鲜有人答对。答案是255。别惊讶,我们先分析
2016-11-28 21:57:32 4351
原创 无线传感网——调制解调技术
调制解调技术调制就是用基带信号去控制载波信号的某个或几个参量的变化,将信息荷载在其上形成已调信号传输,而解调是调制的反过程,通过具体的方法从已调信号的参量变化中将恢复原始的基带信号。调制的种类很多,分类方法也不一致。按调制信号的形式可分为模拟调制和数字调制。用模拟信号调制称为模拟调制;用数据或数字信号调制称为数字调制。按被调信号的种类可分为脉冲调制、正弦波调制和强度调制(如对非相干
2016-11-27 21:24:44 1582
转载 IEEE 802.15.4和ZigBee
IEEE 802.15.4网络简介IEEE 802.15.4网络是指在一个POS内使用相同无线信道并通过IEEE 802.15.4标准相互通信的一组设备的集合,又名LR-WPAN网络。在这个网络中,根据设备所具有的通信能力,可以分为全功能设备(full-function device , FFD)和精简功能设备(reduced-function device , RFD)。FFD设备之间以
2016-11-26 21:45:28 10325
转载 Linux C——段错误bug的调试
转自:http://blog.chinaunix.NET/space.PHP?uid=317451&do=blog&id=92412方法一和二适用与像我一样的新手,:-)我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是
2016-11-25 23:06:54 600
原创 SDH的基本概念
一、SDH的概念 SDH(Synchronous Digital Hierarchy,同步数字体系)是一种将复接、线路传输及交换功能融为一体、并由统一网管系统操作的综合信息传送网络,是美国贝尔通信技术研究所提出来的同步光网络(SONET)。国际电话电报咨询委员会(CCITT)(现ITU-T)于1988年接受了SONET 概念并重新命名为SDH,使其成为不仅适用于光纤也适
2016-11-25 23:03:23 6919
转载 无线传感网——近距离通信技术
在通信和信息技术的不断发展,近距离的无线通信技术只要通信收发双方通过无线电波传输信息且传输距离限制在较短范围(几十米)以内,就可称为短距离无线通信。目前我们所看到的短距离无线技术都有其立足的特点,或基于传输速度、距离、耗电量的特殊要求;或着眼于功能的扩充性;或符合某些单一应用的特别要求;或建立竞争技术的差异化等,但是没有一种技术可以完美到足以满足所有的需求。1、blueto
2016-11-23 20:30:26 1626
原创 信息论与编码——DES数据加密标准
1.什么是对称密码算法 网络安全通信中要用到两类密码算法,一类是对称密码算法,另一类是非对称密码算法。对称密码算法有时又叫传统密码算法、秘密密钥算法或单密钥算法,非对称密码算法也叫公开密钥密码算法或双密钥算法。对称密码算法的加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于
2016-11-22 18:29:39 1597
原创 信息论与编码——密码史的发展
密码学是一个即古老又新兴的学科。密码学(Cryptology)一字源自希腊文"krypto's"及"logos"两字,直译即为"隐藏"及"讯息"之意。密码学有一个奇妙的发展历程,当然,密而不宣总是扮演主要角色。所以有人把密码学的发展划分为三个阶段:第一阶段为从古代到1949年。 这一时期可以看作是科学密码学的前夜时期,这阶段的密码技术可以说是一种艺术,而不是一种科学,密码学专
2016-11-22 18:27:01 5076
原创 循环码的概念以及拓展
循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码。它有许多特殊的代数性质,这些性质有助于按所要求的纠错能力系统地构造这类码,且易于实现;同时循环码的性能也较好,具有较强的检错和纠错能力。 一、 循环码的特点 循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。若( …
2016-11-20 22:33:53 9262 2
原创 Linux C——获取当前目录的方法
两种方法:1. 利用getcwd()函数取得当前工作目录(相当于windows下的GetCurrentDirectory)2. 取得实际文件目录(相当于windows下的GetModuleFileName())原理:每个进程在/proc下都有一个以进程号命名的目录。在该目录下有exe文件,该文件是一个链接文件,它指向的路径就是该进程的全路径.用readlink()读
2016-11-19 21:08:13 2843
原创 Linux C——常用shell脚本
1.列出所有目录使用量,并按大小排序。代码如下:ls|xargs du -h|sort -rn #不递归下级目录使用du -sh2.查看文件排除以#开关和空白行,适合查看配置文件。代码如下:egrep -v "^#|^$" filenamesed '/#.*$/d; /^ *$/d'3.删除空格和空行。代码如下:sed '/^$/d' fi
2016-11-18 22:44:29 388
原创 Linux C——shell编程基础入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的S
2016-11-18 22:37:41 1454
原创 Linux C——数据库函数
1.打开数据库int sqlite3_open(const char* fileName, sqlite3** ppDB);函数功能:打开一个数据库;若该数据库文件不存在,则自动创建。打开或者创建数据库的命令会被缓存,直到这个数据库真正被调用的时候才会被执行。输入参数:fileName,待打开的数据库文件名称,包括路径,以’\0’结尾; 特别说明:SQLite 支持内存数据库,内存方式
2016-11-16 22:56:04 564
原创 无线传感网——物理层通信技术
1.概述网络的物理层主要关心数字化数据的调制与解调问题,这个任务是由收发机来完成的。在传感器网络中,主要的挑战性工作是确定调制方式和收发机的体系结构,使之具有简单、低成本、低能耗的特性,并且能够提供所需的足够稳健的活动。由于无线传感网节点采用电池供电,能量有限,且不易更换。因此,能量效率是无线传感网无法回避的问题。从最基础的物理层开始到应用层,几乎所有通信协议的设计都要考虑到能效因素,保持
2016-11-15 23:01:19 3274
转载 Linux C——select函数详解及其应用
Select函数在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻
2016-11-14 21:37:36 809
原创 Linux C——使用父子进程实现TCP通信
#include #include #include #include #include #include #include #include #define MY_PORT 3333int main(int argc ,char **argv){ int listen_fd,accept_fd; struct sockaddr_in clien
2016-11-13 22:13:58 898
原创 Linux C——TCP并发服务器客户端(线程实现)
服务器程序代码:#include #include #include #include #include #include #include #include #define portnumber 3333void * read_msg(void *arg){ int fd = *((int *)arg); int nread = 0; char buffe
2016-11-12 22:09:07 4876 4
原创 Linux C——UDP通信服务器与客户端
UDP服务器代码如下:#include #include #include #include #include #include #include #include #include #include #define SERVER_PORT 8888 #define MAX_MSG_SIZE 1024 void udps_respon(int sockfd) {
2016-11-11 11:33:45 3805
原创 Linux C——TCP客户端服务器通信
服务器代码:#include #include #include #include #include #include #include #include #define portnumber 3333int main(int argc, char *argv[]) { int sockfd,new_fd; struct sockaddr_in
2016-11-10 11:08:47 529
原创 Linux C——网络通信的相关函数
1.socket函数函数作用:创建一个socket函数原型:int socket(int family, int type, int protocol);参数:Family:一个地址描述。目前仅支持AF_INET格式,也就是说ARPA Internet地址格式。对于IPv4,family参数指定为AF_INETtype:新套接口的类型描述。 对于TCP协议,type参数指定
2016-11-09 11:03:31 597
原创 Linux C——网络编程基础知识
一、网络模型1.TCP网络模型 2.UDP网络模型 二、网络基础——套接字是一种特殊的IO接口,是一种文件描述符;是一种常用的进程之间的通信,本地,不同主机之间通信;Socket可用网络地址结构{协议,本地地址,本地端口}表示。1.套接字的类型①流式套接字SOCK_STREAM提供可靠的、面向连接的通信流,保证数据传输的可靠性和按序收发。TCP属于流
2016-11-08 23:20:16 591
原创 TCP/IP理论基础
一、TCP/IP的分层模型OSI协议参考模型,它是基于国际标准化组织(ISO)的建议发展起来的,它分为7个层次:应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。这个7层的协议模型虽然规定得非常细致和完善,但在实际中却得不到广泛的应用,其重要的原因之一就在于它过于复杂。但它仍是此后很多协议模型的基础。与此相区别的TCP/IP协议模型将OSI的7层协议模型简化为4层,从而更
2016-11-07 22:38:49 1101
原创 Linux C——网络通信的相关函数
1、 socket函数的作用:建立一个新的socket套接字函数的原型:int socket(int domain,int type, int protocol)函数的参数:domian:表示使用何种地址类型 AF_INET,IPV4网络协议 AF_INET6,IPV6网络协议
2016-11-06 23:53:45 501
原创 Linux C——常用校验方法
1.奇偶校验 奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶 校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校 验“1”的个数是否为奇数,从而确定传输代码的正确性。奇校验:所有传送的数位(
2016-11-05 22:40:34 2085
原创 sqlite3命令终端实现
1.如何在命令终端创建数据库,创建数据页表? 数据库文件格式:test.db创建数据库命令:sqlite> sqlite3 test.db 创建数据页表命令:sqlite> create table test (id integer primary key, value text);名为id的主键列:该列默认具备自动增长的属性;名为value的简单文本域;2.如何
2016-11-04 23:28:04 642
原创 Linux C——数据库的基本知识
1.数据库的基本概念和基本作用是如何?数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。2.了解数据库的发展历史和各种数据模型?发展历史:使用计算机后,随着数据处理量的增长,产生了数据管理技术。数据管理技术的发展与计算机硬
2016-11-03 21:52:12 762
原创 数据库操作
1、数据库是一个有结构、集成的、可共享的统一管理的数据集合2、数据库的三种模式:内模式、模式、外模式3、关系:一个关系就是一张二维表 元祖:表中的行称为元祖,一行就是一个元祖 属性:一列为一个属性 域:属性的取值范围4、创建数据库(1)文件格式:text.dbsqlite>sqlite3 text.dbsqlite>create tabl
2016-11-03 00:11:32 253
原创 Linux C——多线程的同步和互斥
一、互斥锁的定义,初始化,互斥操作的实现机制?1.互斥锁的定义互斥锁,是一种信号量,常用来防止两个进程或线程在同一时刻访问相同的共享资源。从本质上讲,互斥量是一把锁,该锁保护一个或者一些资源。一个线程如果需要访问该资源,必须要获得互斥量对其加锁。这时,如果其他线程想访问该资源也必须要获得该互斥量,但是锁已经加锁,所以这些进程只能阻塞,直到获得该锁的进程解锁。这时阻塞的线程里面有一个线程获得
2016-11-01 18:16:15 573
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人