- 博客(27)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 计算机中的原码、反码、补码分析
今天给学生上数字逻辑第一节课,主要讲了数制,后面简单提及了原码、反码和补码,碰到了两个问题:第一,十进制数转八进制数,学生练习时卡壳,不知道无从下手;第二,原本以为原码、反码、补码应该是一年级甚至中学时就应该解决的问题,实际上原来根本不是这么回事。中学老师即使讲过,估计也是对付考试的方式简单提及,并未从本质上进行讲解(那时候他们忙着对付高考,哪有闲工夫讲这些题外的知识)。真值首先,我们明白计算机中的
2016-11-10 17:39:54
882
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 选择苹果还是iphone7?---Monty Hall悖论
个人直觉有时很重要,有时却指引我们做出错误的选择。我相信很多童鞋在面对下面的情景时,可能会犯晕。假设在你面前有A、B、C三个盒子,其中的两个盒子里面分别装有一个可以食用的苹果,另外一个盒子里面装着现在火热的亮黑iphone 7;在盒子未打开之前,你并不知道哪个盒子里面装的是iphone 7。游戏规则是:先给你一次选择机会,你可以从三个盒子中任选一个盒子(比如A),在你选择之后,我再从另外的两个盒子中
2016-11-10 17:37:16
731
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 python入门学习工具
首先声明,这不是广告,纯粹有感而发。学习语言的方法有很多种,找到适合自己的才是最重要的。最近,由于要做大数据方面的一些研发工作,需要写代码,而我自己擅长的是C/C++/Golang/JS等语言,对于前三种而言,用起来太重,而JS重点则在网页、服务器端程序设计,也缺乏足够的数据挖掘、机器学习类的库;开始考虑用java,觉得也很重,后来想想算了。倒来倒去,还是觉得python比较合适,硕士阶段也捣鼓过p
2016-11-10 17:35:56
999
原创 74LS163计数器及其应用
概述在前面的课程中,讨论了用基本的触发器设计减法计数器,也提到了其缺陷,即只有脉冲输入,没有其它输入,不受控。因此,硬件工程师根据设计中常用的电路设计了163计数器,本节内容首先介绍74LS163的基本功能,然后以163为基础设计一个分频器和一个2421码模8电路(重点讲设计思路,verilog程序请自行完成)。74LS163计数器74LS163计数器有5个控制端、4个数据输入端和5个输出端,其逻辑
2016-11-22 16:55:50
33827
3
原创 利用触发器设计计数器
概述前面的课程中,介绍了基本触发器的功能特性,对触发器的内部电路进行了分析;然后还对时序电路分析给出了基本思路,即抓住三个核心方程:输出方程、激励方程、次态方程。学习组合电路和基本触发器的目的是为了设计电路,数字逻辑这门课程的目的是能够设计简单的同步时序电路,并对其简单分析,下文通过一个模16的减1计数器进行说明。基本流程要设计时序电路,首先必须要对功能需求进行分析,模16减1计数器的功能需求很显然
2016-11-15 13:25:36
14818
原创 时序逻辑中的Verilog程序解读
同步时序逻辑电路中由于引入了时钟脉冲,在写verilog程序时,习惯面向过程或面向对象编程思维的童鞋带来理解上的困难。在理解verilog程序时,基本要点是从电路出发,抛弃传统的面向过程或面向对象思维,而从电路构造和电流变化的角度理解。如下面的时序逻辑电路:当时序电路处于稳态,时钟脉冲没有到来时,并且!Q0的值为1时,X的变化只会影响到Z的输出,而两个J-K触发器状态不会有任何改变其对应的veril
2016-11-14 15:46:02
4519
转载 React Native手势处理详解
转自:http://www.race604.com/react-native-touch-event/,深度好文!!!触控是移动设备的核心功能,也移动应用交互的基础,Android 和 iOS 各自都有完善的触摸事件处理机制。React Native(以下简称 RN)提供了一套统一的处理方式,能够方便的处理界面中组件的触摸事件、用户手势等。本文尝试介绍 RN 中触摸事件处理。1. RN
2016-11-11 12:58:20
7291
原创 mongodb 3.2 知识简记-基础知识和基本操作
基础use db 选择数据库创建数据库。当数据库不存在时,第一次使用并且存数数据时,创建数据库。如 use myDb db.myNewCollection1.insert({value: 10}) 创建数据库myDb, 创建myNewCollection1 注意: mongodb中的collection类似于关系数据库中的table,通常情况下不需要使用db.creat
2016-11-10 18:02:44
558
原创 Golang中的defer, panic, recover
golang中没有类似Java/C++等面向对象编程语言中的try…catch…finally…语句结构,对于有些童鞋可能不太习惯。对于从C语言转过来的童鞋,golang提供了一系列相对较好的函数defer,panic,recover。 从英语的语义看,defer表示“延迟”,panic表示“惊恐”,recover表示“恢复”,那在golang中,提供这些函数的意义何在呢?我们先看一个简单的例子:
2016-11-10 18:01:56
1236
1
原创 微信小程序瞎想
微信小程序内测发布的当天,我就着急忙慌的去官网看了,心里想着是不是与我想的一致,果不其然,与我的预期基本一致,基本上可以断定是Ionic的翻版,当然,也有很多人说与RN类似。从技术的角度看,微信小程序就是H5程序,其中的app.json是配置文件,app.wxss文件是样式表文件,app.js是程序主入口文件。为了方便开发UI,还提供了组件(component)及一系列的方法(有心的童鞋可以去看Io
2016-11-10 18:01:05
1001
原创 Typescript简记
概述typescript是微软推出的一门扩展js脚本语言,现在由微软和google在推,google的angular.js的2.0版本以typescript为基础,所以这门语言应该是靠谱的。早期我也经常用node.js, node-webkit,都是用js写,但是里面的各种蛋疼语法挺烦人的,特别是读别人的代码,一坨坨回调,一坨坨函数域变量,头疼。以前typespcript推的时候,因为本能对微软技术
2016-11-10 18:00:19
2147
原创 时序电路分析
概述学习数字逻辑这门课程的目的有两个,第一是为了后续的电路设计,是硬件工程师的入门课程;第二则是为了更好地理解计算机的工作原理,为后续嵌入式开发、软件开发等打下坚实的基础。绝大部分人应该属于后者,毕竟纯粹的硬件开发工程师职位不多。时序电路是数字逻辑这门课的关键,因为引入了时间这一维度,理解掌握其功能特性的难度比组合逻辑要高,因此,很多童鞋可能学到这有点晕,这是正常现象。应对办法也很简单:熟记典型的几
2016-11-10 17:50:24
5665
原创 下降沿J-K触发器分析
这个分析卡壳了,主要是因为没有对电路中的门进行编号,很容易把自己搞晕。于是,重新编号进行分析,电路图如下所示:初始时,不妨假设Q初态为0,!Q初态为1, J=0, K=1分析的时候,很容易从CP=0开始分析,此时,J和K是无法送到5门和6门的(7门和8门输出为1),CP=0,导致5门和6门维持一个稳态(即5,6,7,8门是被锁住的),此时 若5门输出为0,6门输出为1,由此,3门输出1,4
2016-11-10 17:50:02
2791
原创 触发器及其电路分析
概述时序电路是数字逻辑课程的核心部分,也是学习后续硬件相关课程的重要基础部分,PC中的计数器、内存、倍频/分频器等都是典型的时序电路。前面学习的组合电路,电路的输出只与电路的输入相关,不具备保存数据功能,电路中也不允许存在回路。而在时序电路中,一大功能便是要求保存数据。时序电路通常分为Moore型和Mealy型,Moore型电路的输出只与电路的当前状态(就是存储的数据)相关,Mealy型电路则与电路
2016-11-10 17:49:30
8796
1
原创 竞争与险象
本来是准备花一次课(两个课时)好好讲讲这方面的内容的,实验课老师紧催慢催,花了不到一节课就过去了,感觉很多东西都来不及讲,借助这篇简述详细说说,希望对大家能有点帮助。概述前面的课程中,我们学习的都是理想情况,即:假设电信号经过线路和每个逻辑门电路时,没有延迟,在这一前提下,得到非常规整的波形图。然而,在现实中,这种情况是不可能存在的(否则,我们学完这门课就能造CPU了),信号经过线路和逻辑门都会有延
2016-11-10 17:48:56
4552
1
原创 选择器和分配器
概述选择器和分配器是组合电路中十分重要的逻辑元件。选择器用于从多个输入数据中选择一个输出;而分配器则刚好做相反的工作,将多个输入端输出到指定的输出端。按照惯例,本文首先介绍相应的应用背景,然后讲解选择器和分配器的工作原理。背景选择器和分配器是电路中不可或缺的两个器件。童鞋们都知道,CPU中存在数量有限的寄存器(MIPS结构中一般是32个),CPU的ALU计算时,从寄存器中取数据进行计算。所有的寄存器
2016-11-10 17:48:21
2580
原创 编码器
概述在译码器基础和译码器应用中分别对译码器的真值表、电路图、逻辑符号等进行了较为详细的讲解。编码可以看成是译码的逆过程。通常,编码是将计算机无法直接识别的数据,翻译成二进制码。大家学习C语言时,一定对ASCII码有所了解,它用8位二进制串表示26个字母大小写、数字以及一些常见的控制符等;coding较多的童鞋肯定也对UTF-8,UTF-16等概念比较熟悉,这些编码将全球所有的字符(特别是中日韩、阿拉
2016-11-10 17:47:12
2107
原创 半加器、全加器及其应用
半加器、全加器是组合电路中的基本元器件,也是CPU中处理加法运算的核心,理解、掌握并熟练应用是硬件课程的最基本要求。本文简单介绍半加器、全加器,重点对如何构造高效率的加法器进行分析。半加器和全加器所谓半加器,是指对两位二进制数实施加法操作的元器件。其真值表、电路图和逻辑符号分别如下图所示: 根据真值表,其输入输出之间的对应关系为: S = A!B + !AB (!号表示逻辑非) C =
2016-11-10 17:46:37
23828
原创 译码器的应用
三种基本译码器在译码器基础中,解释了完全译码器(n-2n)的基本工作原理,即:当使能端有效时: Yi = mi 或者 /Yi = !mi (注:这里的!表示非号)除了完全译码器之外,还有4-10线译码器,七段显示译码器,相对也比较简单,这里简单进行介绍: - 4-10译码器 由真值表可以看出,当A3A2A1A0的取值为[0000~1001]时,输出有效,其它情况均为无效,其
2016-11-10 17:44:54
8142
原创 译码器基础
初次接触译码器的童鞋可能会问,译码器是什么?首先,我们需要明确,电脑和人类沟通,需要转换。因为人类对于抽象语言比较擅长,而当前的计算机本质上只能识别0、1二进制串。因此,人类所表达的知识要被电脑接受,需要将其转换编码成二进制数,这一过程可以理解为编码;而人类要理解计算机给我们计算的结果,则需要将结果解释成我们能理解的对象(如七段显示译码器中显示的数据),这一个过程,其实就是译码。另外,译码器不是客观
2016-11-10 17:42:43
2344
原创 组合电路、时序电路在计算机课程中的地位
这个题目是我临时想的,不知道是否准确,一直想写一个类似的东西,希望能够引起童鞋们关注硬件并喜欢上硬件。我是文科出生,研究生阶段才转向计算机,中间有很长一段时间都只做软件理论相关研究和一些具体的软件项目,包括编译器、电力系统监控器、软件测试工具研发等;直到2009年,才开始陆陆续续接触一些硬件项目,说是硬件项目,其实主要是一些嵌入式的项目,如世界杯前做的3G转Wifi和自己玩的一些小车和传感器等。在做
2016-11-10 17:42:03
2192
原创 关于补码的解释
今天讲补码的时候卡壳了,有点尴尬,太想当然了,向童鞋们道歉!在这里把补码的原理解释一遍。先看8位的二进制的范围[00000000, 11111111],我们暂时只考虑真值,即这里面所有的数都表示数值,其对应的十进制数的范围为[0, 255],也就是说8位二进制数的模为256,如果把这个范围分为两部分[00000000, 01111111]和[10000000, 11111111],后面的这一部分是不
2016-11-10 17:40:47
831
原创 Golang中的管道channel在几个典型语言中的实现
用golang有一段时间了,Golang中的管道确实是一个神器,我们用生产者-消费者来描述其基本用法为:func P(queue chan<- int){ for i:= 0; i < 1000; i++{ queue <- i }}func C(queue <-chan int){ v := <- queue}func main(){
2016-01-02 15:58:44
2947
原创 Lingoes的问题
最近用office和QQ的截屏总是会程序崩溃,然后是windows资源管理器崩溃,一直找不到原因,在网上查,一堆乱起八糟的回复,总是以为是哪个插件出问题了,删除了一堆插件,还是会出这个问题,并且office中的复制粘贴没法用,一用就程序崩溃,让我濒临崩溃的边缘。几个同学都说,卸了重装系统吧,无赖机器里面的东西太多了,并且重装有很多东西找不回来,所以一直懒得动。今天看了启动的几个程序,挨个关闭了
2011-10-29 13:03:28
1273
原创 变异体项目生成的问题
最近做一个实验原型,其思路是:对项目中的某些源文件进行变异(变异根据变异操作实施),自动生成相应的变异体,数量较大;然后,每次用一个变异体文件代替原来的文件并利用devenv进行生成/bin目录下的release文件夹,每生成一次,便将release文件迁移到其他目录下,循环生成
2011-09-29 11:13:31
867
原创 C#中不同窗体之间的数据传递
学习C#不久,对于C#不同窗体之间的数据传递,总是处理得不好,今天,通过上网查找资料,小有心得。C#之间不同窗体之间的数据传递,无非有两种方式:数据库或文件。这是最直接的方式,需要传递的数据存储在数据库、配置文件、或者xml文件中,任何能够访问此数据库或文件的窗体均能
2011-08-29 16:38:55
9823
原创 C#产生一组不重复随机数的两种方法
最近在开发项目的过程中,需要产生一些随机数,如果我们简单的用C#中的Random.Next方法,很难产生一组少重复的随机数(当然是伪随机数),在网上也看了很多方法,貌似也不可行,或者比较复杂。于是,参考网上的一些方法,自己写了两个个产生一组伪随机数的方法。 方法一的代码如下: List GenerateRandom(int iMax, int iNum){ List
2011-07-01 14:40:00
17983
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人