- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 关于操作有符号数的溢出问题
在计算机中,数值的二进制表示方法主要有:原码、反码和补码。通常取最高位为符号位,0表示正数,1表示负数。正数的原码、反码、补码一样。而负数的原码最高位取1,数值位取负数绝对值的二进制值;反码的符号位为1,其余位取反;补码的符号位为1,其余位取反加1。在32位计算机中,有符号字符型变量的取值范围是-27 ~ 27-1,有符号整型变量的取值范围是-215~ 215-1,如果将有符号整型变量赋给有符号字符型变量,则高位被截断,保留低八位。
2014-08-10 22:23:24 3763 2
原创 队列的基本运算实现
队列(queue)队列是一种先进先出(first in first out,FIFO)的线性表。它只允许在表的一端(队尾/rear)插入元素,而在另一端(队头/front)删除元素。插入操作称为入队或进队,删除操作称为出队或离队。队列示意图如下:1、 顺序队队列的顺序存储结构需要使用一个数组和两个整型变量来实现,数组用于存储队列中的所有元素,两个整型变量分别用于存储队头元素
2014-07-29 14:09:22 5767
原创 栈的基本运算实现
栈是一种只能在一端进行插入和删除操作的线性表。表中允许进行插入和删除操作的一端称为栈顶。栈顶的当前位置是动态的,由一个称为栈顶指针的位置指示器指示。表的另一端称为栈底。不含数据元素的栈称为空栈。栈的插入操作称为压栈或进栈,栈的删除操作称为退栈或出栈。栈的主要特点是“后进先出(LIFO)”。1、 顺序栈假定栈的元素个数不超过MaxSize,所有的元素都具有同一数据类型ElemType。采用栈
2014-07-28 19:01:28 7366
原创 单链表的运算实现
线性表的链式存储结构——链表,包括单链表、双链表、循环链表等。单链表的结点由数据元素和指向下一个结点的指针构成,是最简单的一种链表结构。 对单链表的操作很多,如查找、插入、删除、逆置、打印等,现对这些操作的实现做一个小结,代码用C语言实现。#include#includetypedef struct LNode{ char data; struct LNode *
2014-07-23 19:24:10 958
转载 百度员工离职总结:如何做个好员工?
2014年7月4日,我从百度离职了。这是第一次,我不是因为和老板闹翻而离职;这是第一次,我带着晋升的喜悦而离职;这是第一次,我带着满满的收获而离职。我曾经认为,我永远不会成为一个好员工,因为我太独、太挑剔、不喜欢听话的好孩子、而且讨厌一切想要改变我的人。但是三年过去,我改变了不少,我必须承认,所谓“进步”的过程,就是被认可的过程,也是被“驯化”的过程。所谓“驯化
2014-07-19 16:18:17 574
原创 几个常见字符串处理函数的实现原理
字符串是一种常见的数据结构,对字符串的处理又可以十分灵活,所以在实际开发,尤其是非数值处理中,字符串的应用非常广泛。虽然很多字符串操作都封装在了函数库里,应用程序可以直接通过调用库函数来实现字符串处理,然而对于开发者而言,若能了解其底层实现原理,对于应用编程而言还是大有裨益的。这篇文章主要介绍几种常用的字符串处理函数的实现原理。一、strlen函数strlen函数:计算字符串的实际长度
2014-07-09 18:26:16 2925
原创 二维数组中的查找
数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请题目:在一个二维完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:下面是一个满足题目要求的二维数组。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于不含该数字,返回false。算法分析:首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数
2014-07-04 18:39:33 866
原创 语音识别之初体验
一、概述作为最自然的人机交互方式 --语音,正在改变人们的生活,丰富多媒体技术的应用。语音识别技术是语音信号处理的一个重要分支,也是近年来很火的一个研究领域。随着科技的飞速发展,语音识别不仅在桌面PC和大型工作站得到了广泛应用,而且在嵌入式系统领域也占有一席之地,如智能家居、苹果的Siri、车载语音识别系统等。相信在不久的将来,语音识别技术必定会渗透在人们生活的每个角落。二、语音识别系统的
2014-06-26 15:36:17 2330
原创 嵌入式Linux学习小结
嵌入式Linux学习心得这两个月一直在学习Linux。作为一名初学者,学习期间难免磕磕碰碰、走弯路,但是,抱着不怕失败、多尝试的信念,最终还是坚持下来了。现在已经清楚Linux的框架,知道怎么去开发一个Linux程序,同时,随着学习的深入,我发觉自己已经爱上Linux了。下面简单谈谈我的Linux学习体会,也算是对这段时间的一个小小总结。嵌入式Linux(ARM+Linux)学习步骤:
2014-06-24 16:16:46 1255
原创 LCD开发之汉字显示
一、LCD显示原理利用液晶制成的显示器称为LCD,依据驱动方式可分为静态驱动、简单矩阵驱动以及主动矩阵驱动3种。其中,简单矩阵型又可再细分扭转向列型(TN)和超扭转式向列型(STN)两种,而主动矩阵型则以薄膜式晶体管型(TFT)为主流。一块LCD 屏显示图像不但需要LCD驱动器,还需要有相应的LCD控制器。通常 LCD 驱动器会以 COF/COG的形式与LCD 玻璃基板制作在一起,而 LC
2014-06-23 22:50:10 10605
原创 Linux驱动的两种加载方式过程分析
一、概念简述在Linux下可以通过两种方式加载驱动程序:静态加载和动态加载。静态加载就是把驱动程序直接编译进内核,系统启动后可以直接调用。静态加载的缺点是调试起来比较麻烦,每次修改一个地方都要重新编译和下载内核,效率较低。若采用静态加载的驱动较多,会导致内核容量很大,浪费存储空间。动态加载利用了Linux的module特性,可以在系统启动后用insmod命令添加模块(.ko),在不需要
2014-06-21 11:27:35 4857
原创 Linux实现音频录放
走进WAVE文件WAVE是录音时用的标准的Windows文件格式,文件的扩展名为“wav”,数据本身的格式为PCM或压缩型,属于无损音乐格式的一种,符合RIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。数据块的记录方式是小端(little-endian)字节顺序,标志符并不是字符串而是单独的符号表1
2014-06-18 21:35:27 4762
转载 计算机是如何启动的
零、boot的含义先问一个问题,”启动”用英语怎么说?回答是boot。可是,boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语:"pull oneself up by one's bootstraps"字面意思是”拽着鞋带把自己拉起来”,这当然是不可能的事情。最早的时候,工程师们用它来比喻,计
2014-06-14 12:50:40 640
原创 Linux声卡驱动移植和测试
一、分析驱动程序,根据开发板修改代码;代码太长,就不贴了,几个注意点:1、 查看开发板原理图和S3C2410的datasheet,UDA1341的L3MODE、L3DATA、L3CLOCK分别与S3C2410的GPB2、GPB3、GPB4相连,IISLRCK=GPE0, IISSCLK=GPE1, CDCLK=GPE2,IISSDI=GPE3, IISSDO=GPE4,部分代码如下:
2014-06-13 16:23:41 5859
原创 Linux音频驱动简述
一、数字音频音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重现,实现这一步骤的设备常被称为模/数转换器(A/D)。A/D转换器以每秒钟上万次的速率对声波进行采样,每个采样点都记录下了原始模拟声波在
2014-06-09 21:35:42 2058
转载 I2S音频总线学习
I2S音频总线学习(一)数字音频技术一、声音的基本概念 声音是通过一定介质传播的连续的波。图1 声波重要指标:振幅:音量的大小 周期:重复出现的时间间隔 频率:指信号每秒钟变化的次数声音按频率分类:图2 声音的频率(语音信号频率范围:300Hz-3kHz)声音的传播携带了信息,它是人类传播信息的一种主要媒体。 声音的三种类型
2014-06-08 09:26:49 10269
原创 虚拟机VMware下安装Red Hat Linux 9.0步骤详解
注意:本安装全部是在虚拟机上进行的,用的是ISO镜像文件安装。1.安装完VMwareWorkstation后,启动VMwareWorkstation,新建一个虚拟机,其主界面如下图。 2.VMware Workstation的配置 VMwareworkstation安装完毕后,利用它可以建立多个虚拟机,每新建一个虚拟机,就会要求你建立一个配置文件。这个配置文件实际上相当
2014-06-07 18:19:58 26599 1
转载 Linux常用shell命令(学习小结)
1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。2. ls 查看目录或者文件的属*,列举出任一目录下面的文件eg: ls /usr/manls -la.d表示目录(directory),如果是一个"-"表示是文件,如果是l则
2014-06-07 12:50:20 1229
原创 嵌入式系统的基础总结
1、嵌入式系统的定义以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统。2、嵌入式系统的组成硬件部分:嵌入式微处理器、外围硬件设备;软件部分:嵌入式操作系统、特定的应用程序。嵌入式微处理器外围设备是指在一个嵌入式系统当中,嵌入式处理器以外的完成存储、通信、调试、显示等辅助功能的其它部件,根
2014-06-06 22:29:46 1127
原创 Linux驱动开发之LED驱动
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define S3C2410_GPFCON S3C2410_GPIOREG(0x50)#define S3C2410_GPFDAT S3C2
2014-06-06 17:06:35 2004
原创 “hello world”驱动实现过程(ARM板上)
“helloworld”驱动实现过程(ARM板上)1、 在/home/sxy/目录下新建hello_1文件夹,在此文件夹下编写hello.c和Makefile文件(假设已经编写好了),make生成模块文件;PS:hello.ko就是用于需要使用的驱动模块。 hello.c代码:Makefile代码:注意Makefile文件中的黑色填充部分:①选择交叉编译器
2014-05-29 17:51:12 2124
原创 大学,助你成长or 让你堕落?
无论是论坛、贴吧,还是博客,都或多或少可以看到诸如对大学教育的反思、抨击之类的文章,至于什么是大学,大学又该如何度过,大学是助你成长还是让你堕落了?我想这应该是一个见仁见智的问题,作为一个过来人,结合自己的亲身经历,我也来谈谈对大学的一些浅薄看法。 何谓大学?前清华校长梅贻琦说过:“大学者,非大楼也,乃大师也。”师者,所以传道授业解惑也。所以说,大学应该是一个学生学习、教师教授
2014-05-24 12:27:19 733
原创 SDRAM和NAND Flash的几个注意点
这几天在研究ST2410开发板上的存储器控制部分,现结合自己在实验中碰到的问题和查找的相关资料,谈谈几个注意点。1)S3C2410与SDRAM的连接问题主要是地址线的连接(地址对齐)。查看开发板的原理图,如下图所示:从图中可以发现,S3C2410的A2-A14依次与SDRAM(K4S561632D芯片)的A0-A12相连。那么为什么是从S3C2410的A2开始呢?通过查看数据手册知
2014-05-03 14:36:42 5572
转载 国外14部经典励志电影推荐
阿甘正传 Forrest Gump《阿甘正传》是一部根据同名小说改编的美国电影,电影荣获1995年奥斯卡最佳影片奖、最佳男主角奖、最佳导演奖等6项大奖。《阿甘正传》一开始就利用一个场景:在蓝色的天空中,一片羽毛随风飘舞,飘过阿甘所居住的城市,一会随风飘落了下来,一会又被风吹向了高空。经过在空中的起伏飘荡,最终飘落在故事主人公的脚下。这是导演运用长镜头对羽毛随风飘舞的描写,留给观众的是对羽毛
2014-04-30 15:45:37 11538
转载 逻辑题
【1】 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。由满6向空5倒,剩1升,把这1升倒5里,然后6剩满,倒5里面,由于5里面有1升水,因此6只能向5倒4升水,然后将6剩余的2升,倒入空的5里面,再灌满6向5里倒3升,剩余3升。【2】周雯的妈妈是豫林水泥厂的化验员。一天,周雯来到化验室做作业。做完后想出去玩。"等
2014-04-30 08:58:38 2833
原创 Windows和Linux之间实现资源共享——Samba服务器
1、在Linux下,打开Samba服务器;2、配置选项,如共享文件夹、允许访问的用户等; 3、查看Windows下的主机IP(打开“命令提示符”,输入ipconfig命令);4、设置Linux的IP地址,与Windows主机的IP处于同一网段;PS:虚拟机的网络模型选择桥接,同时使用网线;5、重启Samba;6、Windows下访问Samba
2014-04-29 18:36:04 1070
原创 那些年,我们一起玩过的儿童游戏
那些年,陪伴我们一起度过童年的一个个游戏,如今已经渐渐消失。然而,当我们再次聊起它们,嘴角依然会不由自主地扬起微笑。关于它们,你又还记得多少?1、打弹珠2、掰手腕3、吹肥皂泡4、弹弓5、斗鸡6、翻花绳7、滚铁环8、老鹰捉小鸡9、拍洋画10、骑马打仗11、石头剪子布12、跳大绳13、跳方格14
2014-04-27 22:35:13 1819
原创 2014华为实习生招聘机试题
由于本人只做出两道题,第三题没来得及细看,所以只列出前两道题目及其解法(C语言),仅供参考。1、输入一个字符串(由小写字母组成,长度不超过1000),输出为对应的数字字符串。(60分)样例:输入:yiersansi输出:1234 #includeint main(){ charstr[1000]={"0"},s[100]={"0"};
2014-04-26 10:01:12 902 3
原创 驾校之旅
从去年10月份报名到今年4月份拿证,整个过程维持将近6个月,不算中间两个月没练和安排等待的时间,也就两个月左右,最后全部考试一次性通过,顺利领取驾照。这段历程确实不容易,中间的等待和煎熬只有自己和有同样经历的人才能够体会(在此也感谢一起努力的小伙伴们),所以,还是决定写一篇总结,以纪念那一段充实的日子。日程:2013年10月24日:报名(南京天保驾校,普通班);2013年1
2014-04-26 09:55:42 717
转载 不是技术牛人,如何拿到国内IT巨头的Offer
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生。你不需要拿NOI的奖,无需是开源社
2014-04-25 20:24:26 503
原创 搞笑段子
以下内容和老公一起逛街,在一内衣店,我想买件真丝睡衣,老公说有点贵,买纯棉的吧!我灵机一动大声说:我就要这件,你不给买我告诉你老婆我俩的事!做店员的两个小妹妹同时回头看我们,老公愣了一下说,你非要买的话那我告诉你老公!两个小妹妹的那个表情,哈哈,老公你真机智!你赢了!买纯棉滴! 小时候上课爱打瞌睡,有次语文老师布置一篇作文叫做《假如我是蜘蛛》,我在睡觉没听到,就问了同学题目
2014-04-25 19:20:11 752
原创 串口终端(学习小结)
接触嵌入式Linux有一段时间了,期间看了《鸟哥的Linux私房菜:基础学习篇》,同时在PC机上安装虚拟机(VMware Workstation 8.0),又在虚拟机上安装GNU/Linux(Red Hat Linux 9.0),学习Shell命令,安装交叉编译工具链,大概了解了整个开发流程和Linux系统的启动过程,配置NFS服务,在目标板上运行第一个程序“hello world!”。在这个过程
2014-01-10 13:11:03 2903
原创 初探交叉编译
一、虚拟机上编译hello.c: $gcc hello.c –o hello(本机编译)$arm-linux-gcc hello.c –o hello1(使用交叉工具链arm-linux-gcc4.3.2)$arm-linux-gcc hello.c –o hello2(使用交叉工具链arm-linux-gcc3.4.1)PS:最开始使用的是开发板(优龙ST2410)自带的
2014-01-09 14:27:33 971
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人