使用html和CSS进行网页网站设计 -- 简明步骤

网页制作流程: 1. 心中有规划,网站的骨架结构,页面布局layout. 2. 创建一个用于创建模板dwt的html页: main.html 3. 制作main.html: (1) 在html文件中依次建立 <div id = "outter"> … </div> <div id = "wraper"> … </div> <div id = "top"> … </div> <div id = "banner"> … </div> <div id = "navigator"> … </div> <div id = "content"> … </div> <div id = "footer"> … </div> 等等分区。 (2) 往分区中填入文字图片等内容。 (3) 新建一个css文件,在Dreamweaver下,CSS Designer(Shift+F11) -> "+" -> 新建并附加一个css样式表文件: ../style/style.css (4) 编辑style.css,通过点击左上角切换html代码和css代码。 (5) 通过margin, width, float, padding, 等等css语句,进行layout border, background-color, font-family, font-size, 或者使用class的概念,进行细分。 对于h1 html body p标签,亦可使用css, 和class

READ MORE

C语言键盘按键无阻塞侦测:kbhit()

http://www.360doc.com/content/12/0414/09/1317564_203474440.shtml kbhit in c kbhit in c: kbhit function is used to determine if a key has been pressed or not. To use kbhit function in your program you should include the header file "conio.h". If a key has been pressed then it returns a non zero value otherwise returns zero. Declaration : int kbhit(); C programming code for kbhit #include <stdio.h> #include <conio.h>   main() { while (!kbhit()) printf("You haven't pressed a key.\n");   return 0; } As long as in the above program user doesn't presses a key kbhit() return zero and (!

READ MORE

Static / Const 的概念

C/C++/Java Static / Const 的概念 这里以C为准,其他语言类似。 Static变量是指分配不变(只可分配一次,以后再分配就无效了。)的变量 -- 它的存活寿命或伸展域可以贯穿程序运行的所有过程。这个概念与“ephemeral-短命的”,分配即变的,变量恰恰相反。常常被人们称作的局部变量就是分配即变的。分配即变的变量的存储空间的分配或者回收都是在Stack上完成。相反,分配不变变量的存储空间实在heap memory上动态分配的。 当一个程序被加载到内存,Static变量被存放在程序的地址空间的数据区(如果已初始化了),或者BBS区(BBS Segment)(如果没有被初始化)。 并且在加载之前就被存放在对应的对象文件的区域。 Static 关键字在 C 语言和其他相关语言中都是指这个静态分配的意思或类似意思。 --- 作用域 --- Scope[edit] See also: Variable (computer science)#Scope and extent In terms of scope and extent, static variables have extent the entire run of the program, but may have more limited scope. A basic distinction is between a static global variable, which is in scope throughout the program, and a static local variable, which is only in scope within a function (or other local scope).

READ MORE

如何导出Chrome已安装的某扩展Extension App

如何导出Chrome已安装的某扩展Extension App 如何导出Chrome已安装的某扩展以前用过的有些Extend App,市场里面又找不到更好的怎么办? 这个时候就要用到导出了。 打开扩展程序Setting Extensions 界面, 选择开发人员模式Developer mode,找到该扩展,记住每个Extension下方的ID。 点“击打包扩展程序” : Pack Extension 选择扩展路径C:\Users\当前用户名\AppData\Local\Google\Chrome\User Data\Default\Extensions\扩展ID\版本号, 这里要特别说明,虽然chrome提示是选择扩展根目录,但是如果你把目录选择在扩展ID这一层你就错了,你应该选择下一层的版本号这个目录。 然后点击确定,就有提示导出成功,并提示了保存位置,crx文件就可以拿来分享了。

READ MORE

DSP芯片的定点运算

DSP芯片的定点运算 本文排版不恰当,请到新浪爱问下载本文的pdf版,《【豪猪哥】DSP芯片的定点运算1.0》 第3章 DSP芯片的定点运算 3.1数 的定 标 在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。显然,字长越长,所能表示的数的范围越大,精度也越高。如无特别说明,本书均以16位字长为例。 DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正,1则表示数值为负。其余15位表示数值的大小。因此 二进制数0010000000000011b=8195 二进制数1111111111111100b=-4 对DSP芯片而言,参与数值运算的数就是16位的整型数。但在许多情况下,数学运算过程中的数不一定都是整数。那么,DSP芯片是如何处理小数的呢?应该说,DSP芯片本身无能为力。那么是不是说DSP芯片就不能处理各种小数呢?当然不是。这其中的关键就是由程序员来确定一个数的小数点处于16位中的哪一位。这就是数的定标。 通过设定小数点在16位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有Q表示法和S表示法两种。表3.1列出了一个16位数的16种Q表示、S表示及它们所能表示的十进制数值范围。 从表3.1可以看出,同样一个16位数,若小数点设定的位置不同,它所表示的数也就不同。例如: 16进制数2000H=8192,用Q0表示 16进制数2000H=0.25,用Q15表示 但对于DSP芯片来说,处理方法是完全相同的。 从表3.1还可以看出,不同的Q所表示的数不仅范围不同,而且精度也不相同。Q越大,数值范围越小,但精度越高;相反,Q越小,数值范围越大,但精度就越低。例如,Q0的数值范围是-32768到+32767,其精度为1,而Q15的数值范围为-1到0.9999695,精度为 1/32768 = 0.00003051。因此,对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想提高精度,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须充分考虑到这一点。 浮点数与定点数的转换关系可表示为: 浮点数(x)转换为定点数(): (这里是先乘再int) 定点数()转换为浮点数(x): (这里是先float再乘) 例如,浮点数 x=0.5,定标 Q=15,则定点数=,式中表示下取整。反之,一个用 Q=15 表示的定点数16384,其浮点数为16384×2-15 =16384/32768=0.5。 表3.1 Q表示、S表示及数值范围 Q表示 S表示 十进制数表示范围 Q15 S0.15 -1≤X≤0.9999695 Q14 S1.14 -2≤X≤1.9999390 Q13 S2.13 -4≤X≤3.9998779 Q12 S3.12 -8≤X≤7.9997559 Q11 S4.11 -16≤X≤15.9995117 Q10 S5.10 -32≤X≤31.9990234 Q9 S6.9 -64≤X≤63.9980469 Q8 S7.8 -128≤X≤127.9960938 Q7 S8.7 -256≤X≤255.9921875 Q6 S9.6 -512≤X≤511.9804375 Q5 S10.5 -1024≤X≤1023.96875 Q4 S11.4 -2048≤X≤2047.9375 Q3 S12.3 -4096≤X≤4095.875 Q2 S13.2 -8192≤X≤8191.75 Q1 S14.

READ MORE

Visual Studio C# Learning Notes

Visual Studio C# Learning Notes This blog will note down all my process about learning Visual Studio C# ----------------------------------------------------------- Notes: ----------------------------------------------------------- ----------------------------------------------------------- Why the console window disappear when I press F5 to debug? F5 启动调试 Ctrl+F5 开始执行(不调试) Console.Write("按任意键继续..."); Console.ReadKey();//或者Console.Read();或者Console.WriteLine(); -----------------------------------------------------------

READ MORE

Matlab中下标,斜体,符号及希腊字母的使用方法

Matlab中下标,斜体,符号及希腊字母的使用方法 reference: http://wenku.baidu.com/view/bf031b92daef5ef7ba0d3cf4.html Example Code: x = [0: 10/12000 :10 - 10/12000]; y = 0.3*sin(x) + 0.5*sin(2*x) + 0.7*sin(4*x); Y = fft(y); Y_abs = abs(Y); w = [0: 2/12000 :1-2/12000]; w =w'; figure;plot(w,Y_abs(1:length(Y_abs)/2)); xlabel('\omega (*\pi rad/sample)'); ylabel('Absolute value of FFT'); title('The fft of the filtered data'); 下面是Matlab官方列出来的Tex代码列表,包含了绝大部分的希腊字母和数学符号。 记得前面加 \ eg: x=0:0.2:2*pi; y=sin(x); plot(x,y);text(2,sin(2),’\alpha_2^\beta') Character Sequence Symbol Character Sequence Symbol Character Sequence Symbol alpha α upsilon υ sim ~ beta β phi Φ leq ≤ gamma γ chi χ infty ∞ delta δ psi ψ clubsuit ♣ epsilon ɛ omega ω diamondsuit ♦ zeta ζ Gamma Γ heartsuit ♥ eta η Delta Δ spadesuit ♠ theta Θ Theta Θ leftrightarrow ↔ vartheta ϑ Lambda Λ leftarrow ← iota ι Xi Ξ uparrow ↑ kappa κ Pi Π rightarrow → lambda λ Sigma Σ downarrow ↓ mu µ Upsilon ϒ circ º nu ν Phi Φ pm ± xi ξ Psi Ψ geq ≥ pi π Omega Ω propto ∝ rho ρ forall ∀ partial ∂ sigma σ exists ∃ bullet • varsigma ς ni ∍ div ÷ tau τ cong ≅ neq ≠ equiv ≡ approx ≈ aleph ℵ Im ℑ Re ℜ wp ℘ otimes ⊗ oplus ⊕ oslash ∅ cap ∩ cup ∪ supseteq ⊇ supset ⊃ subseteq ⊆ subset ⊂ int ∫ in ∈ o ο rfloor ë lceil é nabla ∇ lfloor û cdot · ldots … perp ⊥ neg ¬ prime ´ wedge ∧ times x ∅ rceil ù surd √ mid vee ∨ varpi ϖ copyright © langle ∠ rangle ∠ 下面给出Matlab中下标及希腊字母的使用方法,还有更多的使用方法可以参考matlab帮助

READ MORE

关于3D坐标变换的数学原理

关于3D坐标变换的数学原理 3D坐标变换被广泛应用,在机器人导航和器械臂控制上我们常常需要变换坐标系,参杂平移和旋转,本文对相关的数学原理做一个梳理。 (1)为了便于理解,首先从1维开始探讨。 )))人在车上走,车在地面上行驶。人相对于地面的速度 = 人相对于车的速度+车相对于地面的速度 : 图1:一维坐标变换图示 (2)二维坐标变换的简单情况——只有平移: )))向量(A), 在S1坐标系中有坐标(xa_s1, ya_s1), S1坐标系原点相对于S2坐标系的坐标是(xs1_s2, ys1_s2)。 我们要得到(A)在S2中的坐标(xa_s2,ya_s2),有: )))))))) xa_s2 = xa_s1 + xs1_s2; )))))))) ya_s2 = ya_s1 + ys1_s2. 这里可以看成是在 (xa_s1, ya_s1) 引入一个平移变换(xs1_s2, ys1_s2), 这个平移就相当于一维例子中“车相对于地面的速度”。 (配图2:二维坐标平移变换图示) (3)二维坐标变换的一般情况——平移和旋转: )))向量(A), 在S1坐标系中有坐标(xa_s1, ya_s1), S1坐标系原点相对于S2坐标系的坐标是(xs1_s2, ys1_s2),S1坐标系相对于S2坐标系的旋转角是θ, (逆时针为正方向) 。 我们要得到(A)在S2中的坐标(xa_s2,ya_s2),分两步完成: 图3:二维坐标一般变换,平移和旋转图示 第一步: 旋转,使用欧拉旋转矩阵R(θ) = [ cos(θ) -sin(θ) ; sin(θ) cos(θ)]: [ x_1 ; y_1 ] = [ cos(θ) -sin(θ) ; sin(θ) cos(θ)] * [xa_s1, ya_s1] . 此处矩阵乘法。用MATLAB中的协议表示一个矩阵,分号代表提行。 第二步: 平移, 如上述: [ xa_s2 ; ya_s2 ] = [ x_1 ; y_1 ] + [xs1_s2; ys1_s2].

READ MORE

更好理解贝叶斯定律(Bayes Law)和卡曼滤波器(Kalman Filter)原理

更好理解贝叶斯定律(Bayes Law)和卡曼滤波器(Kalman Filter)原理 在概率理论中,我们都学习过 贝叶斯理论: P(A|B) = P(A)P(B|A) / P(B)。它的意义在模式识别和卡曼滤波中是基础。理解它,是学习高级算法的前提。至于模式识别和卡曼滤波等很有价值的方法的超级意义,请您自己查阅。 写本文也帮助作者更好理解贝叶斯定律。若想学,请静心。 1. 理解贝叶斯理论: 这里有事件A: 下雨 事件B: 刮风 我们的问题是: 在刮风的条件下,下雨的概率是多少? 问题就被人们抽象成了:P(A|B)=? 要解决这个问题有两个途径: a. 在所有刮风的日子里,记录是否下雨。——如果我们知道刮风同时下雨的天数,和刮风的天数。就可以解决。 但是这种方法的理论表达式就是:P(A|B) = P(AB) / P(B). 在P(AB)未知时,我们需要利用下面的方法。 b. 有人通过研究查找,得到一些现成知识,利用这些知识,和贝叶斯定律求解。——这是贝叶斯定律的方法。 下面讨论如何利用“贝叶斯定律的方法”来求解上述问题。 我们具有的知识是: * 在过去的几千万年来,人们在下雨的时候,都记录了刮风的日子。所以我们知道: P(B|A) * 在过去的几千万年来,人们都记录了下雨的日子。所以我们知道: P(A) * 在过去的几千万年来,人们都记录了刮风的日子。所以我们知道: P(B) 唯独没有人记录刮风同时下雨的日子。 上述三条都是我们的知识。利用这3条知识,我们就可以知道 P(A|B) = P(A)P(B|A) / P(B) 所以,总结一下,贝叶斯理论就是在P(AB)未知的情况下,利用我们已有的知识,解决 P(A|B)=? 的一种方法。——这是我的一种解释方式。 2. 卡曼滤波器原理: 参考: 英文版wikipedia 和 中文版维基百科 视频: 教程:卡曼滤波器和MATLAB例程

READ MORE

关于DSP中浮点与定点运算的C语言编程方法

关于DSP中浮点与定点运算的C语言编程方法 最近也是在玩DSP,在ADI公司生产的DSP芯片BF527上做DSP工作。 关于在嵌入式开发中需要做DSP工作,我们常常需要用定点运算来提高处理效率,降低功耗。 定点和浮点计算各有长短,此处有篇文章出自ADI公司网站,讨论了定点和浮点的trade off权衡利弊。 请参考: http://www.analog.com/en/content/Fixed-Point_vs_Floating-Point_DSP/fca.html 至于浮点编程,个人理解是用float一路编程到底就够了,挺粗放的,但是本人在做fft的c语言实现时候遇到高阶FFT的浮点运算导致硬件错误的问题,估计跟处理时间过长有关,没有深究。故此文是想学习一下如何用定点编程的方式完成数字信号处理的问题,为日后做高阶复杂多维的数字信号处理运算编程打好基础。 关于DSP中浮点定点编程,有个写得很好的教材:第3章 DSP芯片的定点运算.doc 此处转载一位afreez的仁兄的贡献:特此感谢! ================================ 作者:afreez 北京-中关村 联系方式:afreez.gan@gmail.com (欢迎与作者交流) 初次发布时间:2006-12-08 初次发布在: http://blog.csdn.net/ganxingming/ 不经本人同意,不得用语商业或赢利性质目的,否则,作者有权追究相关责任! 与afreez一起学习DSP中浮点转定点运算–前言 与afreez一起学习DSP中浮点转定点运算–浮点与定点概述 与afreez一起学习DSP中浮点转定点运算–浮点数的存储格式 与afreez一起学习DSP中浮点转定点运算–定点数的加减乘除运算 与afreez一起学习DSP中浮点转定点运算–定点数模拟浮点数运算及常见的策略 与afreez一起学习DSP中浮点转定点运算–举例及编程中的心得 解决了个困扰了2天的问题,定点运算问题

READ MORE