数字_数字图像处理 - CSDN
  • 收集一下,方便以后使用; 1: Math 对象方法 方法描述 abs(x) 返回数的绝对值。 acos(x) 返回数的反余弦值。 asin(x) 返回数的反正弦值。 ... ata...

    在这里插入图片描述

    收集一下,方便以后使用;


    1: Math 对象方法

    方法描述
    abs(x) 返回数的绝对值。
    acos(x) 返回数的反余弦值。
    asin(x) 返回数的反正弦值。
    atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
    atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
    ceil(x) 对数进行上舍入。
    cos(x) 返回数的余弦。
    exp(x) 返回 e 的指数。
    floor(x) 对数进行下舍入。
    log(x) 返回数的自然对数(底为e)。
    max(x,y) 返回 x 和 y 中的最高值。
    min(x,y) 返回 x 和 y 中的最低值。
    pow(x,y) 返回 x 的 y 次幂。
    random() 返回 0 ~ 1 之间的随机数。
    round(x) 把数四舍五入为最接近的整数。
    sin(x) 返回数的正弦。
    sqrt(x) 返回数的平方根。
    tan(x) 返回角的正切。
    toSource() 返回该对象的源代码。
    valueOf() 返回 Math 对象的原始值。

    2: Number 对象方法

    方法 描述
    toString 把数字转换为字符串,使用指定的基数。
    toLocaleString 把数字转换为字符串,使用本地数字格式顺序。
    toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字。
    toExponential 把对象的值转换为指数计数法。
    toPrecision 把数字格式化为指定的长度。
    valueOf 返回一个 Number 对象的基本数字值。

    展开全文
  • 数字中的&运算

    2018-03-19 18:52:59
    数字中的&运算 例如:System.out.println(4&7); 4的二进制是0100 7的二进制是0111 0100 0111 &运算中1&1=1,1&0=0,0&0=0所以可以得出0100,故输出的是4,。...
    数字中的&运算
    

    例如:System.out.println(4&7);

        4的二进制是0100   7的二进制是0111

        0100   

        0111

     &运算中1&1=1,1&0=0,0&0=0

    所以可以得出0100,故输出的是4,。




    展开全文
  • 程序中的魔鬼数字

    2012-09-30 14:28:58
    在代码中使用魔鬼数字(没有具体含义的数字、字符串等)将会导致代码难以理解,应该将数字定义为名称有意义的常量。  将数字定义为常量的最终目的是为了使代码更容易理解,所以并不是只要将数字定义为常量就不是...
      在代码中使用魔鬼数字(没有具体含义的数字、字符串等)将会导致代码难以理解,应该将数字定义为名称有意义的常量。
    

       将数字定义为常量的最终目的是为了使代码更容易理解,所以并不是只要将数字定义为常量就不是魔鬼数字了。如果常量的名称没有意义,无法帮助理解代码,同样是一种魔鬼数字。

       在个别情况下,将数字定义为常量反而会导致代码更难以理解,此时就不应该强求将数字定义为常量。

    案例

    // 魔鬼数字,无法理解3具体代表产品的什么状态

    if (product.getProduct().getProductStatus() != 3)

    {

        throw new PMSException(PMSErrorCode.Product.ADD_ERROR);

    }

    // 仍然是魔鬼数字,无法理解NUM_THREE具体代表产品的什么状态

    if (product.getProduct().getProductStatus() != NUM_THREE)

    {

        throw new PMSException(PMSErrorCode.Product.ADD_ERROR);

    }

    //例子中虽然将数字定义为了常量,但代码却并不容易理解

    Point drawCenter = new Point();

    drawCenter.x = parentWindow.x + (parentWindow.width - clientWindow.width) / HALF_SIZE_DIV;

    drawCenter.y = parentWindow.y + (parentWindow.height - clientWindow.height) / HALF_SIZE_DIV;

    return drawCenter;

    //直接使用数字,代码反而更容易理解

    Point drawCenter = new Point();

    drawCenter.x = parentWindow.x + (parentWindow.width - clientWindow.width) / 2;

    drawCenter.y = parentWindow.y + (parentWindow.height - clientWindow.height) / 2;

    return drawCenter;

    展开全文
  • 在js读取文本框或者其它表单数据的时候获得的值...在网上找了一下js字符串转数字的文章,这个比较全 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了parseInt()和parseFlo
    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形式的.在网上找了一下js字符串转数字的文章,这个比较全

    方法主要有三种

    转换函数、强制类型转换、利用js变量弱类型转换。

    1. 转换函数:

    js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。

    一些示例如下:

    复制代码 代码如下:

    parseInt("1234blue"); //returns 1234
    parseInt("0xA"); //returns 10
    parseInt("22.5"); //returns 22
    parseInt("blue"); //returns NaN

    parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

    复制代码 代码如下:

    parseInt("AF", 16); //returns 175
    parseInt("10", 2); //returns 2
    parseInt("10", 8); //returns 8
    parseInt("10", 10); //returns 10

    如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:

    复制代码 代码如下:

    parseInt("010"); //returns 8
    parseInt("010", 8); //returns 8
    parseInt("010", 10); //returns 10

    parseFloat()方法与parseInt()方法的处理方式相似。
    使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

    下面是使用parseFloat()方法的示例:

    复制代码 代码如下:

    parseFloat("1234blue"); //returns 1234.0
    parseFloat("0xA"); //returns NaN
    parseFloat("22.5"); //returns 22.5
    parseFloat("22.34.5"); //returns 22.34
    parseFloat("0908"); //returns 908
    parseFloat("blue"); //returns NaN

    2. 强制类型转换

    还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
    ECMAScript中可用的3种强制类型转换如下:
    Boolean(value)——把给定的值转换成Boolean型;
    Number(value)——把给定的值转换成数字(可以是整数或浮点数);
    String(value)——把给定的值转换成字符串。
    用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
    当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。

    可以用下面的代码段测试Boolean型的强制类型转换。

    复制代码 代码如下:

    Boolean(""); //false – empty string
    Boolean("hi"); //true – non-empty string
    Boolean(100); //true – non-zero number
    Boolean(null); //false - null
    Boolean(0); //false - zero
    Boolean(new Object()); //true – object

    Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:

    复制代码 代码如下:

    用  法 结  果
    Number(false) 0
    Number(true) 1
    Number(undefined) NaN
    Number(null) 0
    Number( "5.5 ") 5.5
    Number( "56 ") 56
    Number( "5.6.7 ") NaN
    Number(new Object()) NaN
    Number(100) 100

    最后一种强制类型转换方法String()是最简单的,示例如下:

    复制代码 代码如下:

    var s1 = String(null); //"null"
    var oNull = null;
    var s2 = oNull.toString(); //won't work, causes an error

    3. 利用js变量弱类型转换

    举个小例子,一看,就会明白了。

    复制代码 代码如下:

    <script>
    var str= '012.345 ';
    var x = str-0;
    x = x*1;
    </script>

    上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的


    展开全文
  • 模拟地与数字地详解

    2015-08-21 16:51:18
    简单来说,数字地是数字电路部分的公共基准端,即数字电压信号的基准端;模拟地是模拟电路部分的公共基准端,模拟信号的电压基准端(零电位点)。 一、分为数字地和模拟地的原因  由于数字信号一般为矩形波,带有...
    
    

            二者本质是一直的,就是数字地和模拟地都是地。要明白为什么要分开,先听一个故事;我们公司的商务楼,2楼是搞模拟的,3楼是搞数字的,整幢楼只有一部电梯,平时人少的时候还好办,上2楼上3楼互不影响,但每天上下班的时候就不得了了,人多得很,搞数字的要上3楼,总是被2楼搞模拟的人影响,2楼模拟的人要下楼,总是要等电梯上了3楼再下来,互相影响很是麻烦,商务楼的物业为解决这个问题,提出了2个方案:第1个(笑死人了)电梯扩大,可以装更多的人,电梯大了是好,但公司会招人,人又多了,再换电梯,再招人...永远死循环,有一个办法到挺好,大家索性不要电梯,直接往下跳,不管2楼的3楼的,肯定解决问题,但肯定会出问题(第1个被枪毙掉了)。第2个办法装2部电梯,一部专门上2楼,另一部专门上3楼,Wonderful!太机智了,这样2层楼面的工作人员就互不影响了。明白了否?

           数字地、模拟地互相会影响不是因为一个叫数字,一个叫模拟,而是他们用了同一部电梯:地,而这部电梯所用的井道就是我们在PCB上布得地线。模拟回路的电流走这条线,数字回路的电流也走这条线,本来无可厚非,线布着就是用来导通电流的,可问题出在这根线上有电阻!而且最根本的问题是走这条线的电流要去2个不同的回路。假设一下:有2股电流,数流,模流同时从地出发。有2个器件:数字件和模拟件。若2个回路不分开,数流模流走到数字件的接地端前的时候,损耗的电压为V=(数流+模流)X走线电阻,相当于数字器件的接地端相对于地端升高了V,数字器件不满意了,我承认会升高少许电压,数流的那部分我认了,但模流的为什么要加在我头上?同理模拟器件也会同样抱怨!

           两个解决方案:第1个:你布的PCB线没有阻抗,自然不会引起干扰,就像2、3楼直接往下跳,那是井道最宽的时候,也就是可以装一个无限大的电梯,自然谁都不影响谁,但谁都知道,This is mission impossible!第2个:2条回路分开走,数流,模流分开,既数地、模地分开。

           同理,有时虽在模拟回路中,但也要分大、小电流回路,就是避免相互干扰。所谓的干扰就是:2个不同回路中的电流在PCB走线上引起的电压,这2部分电压互相叠加而产生的。       

           下面再具体介绍,简单来说,数字地是数字电路部分的公共基准端,即数字电压信号的基准端;模拟地是模拟电路部分的公共基准端,模拟信号的电压基准端(零电位点)。
    一、分为数字地和模拟地的原因
           由于数字信号一般为矩形波,带有大量的谐波。如果电路板中的数字地与模拟地没有从接入点分开,数字信号中的谐波很容易会干扰到模拟信号的波形。当模拟信号为高频或强电信号时,也会影响到数字电路的正常工作。模拟电路涉及弱小信号,但是数字电路门限电平较高,对电源的要求就比模拟电路低些。既有数字电路又有模拟电路的系统中,数字电路产生的噪声会影响模拟电路,使模拟电路的小信号指标变差,克服的办法是分开模拟地和数字地。
           存在问题的根本原因是,无法保证电路板上铜箔的电阻为零,在接入点将数字地和模拟地分开,就是为了将数字地和模拟地的共地电阻降到最小。
    二、数字地和模拟地处理的基本原则如下
           如果把模拟地和数字地大面积直接相连,会导致互相干扰。不短接又不妥。对于低频模拟电路,除了加粗和缩短地线之外,电路各部分采用一点接地是抑制地线干扰的最佳选择,主要可以防止由于地线公共阻抗而导致的部件之间的互相干扰。

           而对于高频电路和数字电路,由于这时地线的电感效应影响会更大,一点接地会导致实际地线加长而带来不利影响,这时应采取分开接地和一点接地相结合的方式。另外对于高频电路还要考虑如何抑制高频辐射噪声,方法是:尽量加粗地线,以降低噪声对地阻抗;满接地,即除传输信号的印制线以外,其他部分全作为地线。不要有无用的大面积铜箔。
           地线应构成环路,以防止产生高频辐射噪声,但环路所包围面积不可过大,以免仪器处于强磁场中时,产生感应电流。但如果只是低频电路,则应避免地线环路。数字电源和模拟电源最好隔离,地线分开布置,如果有A/D,则只在此处单点共地。
    低频中没有多大影响,但建议模拟和数字一点接地。高频时,可通过磁珠把模拟和数字地一点共地。
    三、四种解决方法
           模拟地和数字地间的串接可以采用四种方式:1、用磁珠连接;2、用电容连接(利用电容隔直通交的原理);3、用电感连接(一般用几uH到数十uH);4、0欧姆电阻连接。下面重点介绍一下磁珠和0欧姆电阻:

           一般情况下,用0欧电阻是最佳选择,1、可保证直流电位相等;2、单点接地,限制噪声;3、对所有频率的噪声都有衰减作用(0欧也有阻抗,而且电流路径狭窄,可以限制噪声电流通过);4、电容(利用电容隔直通交的原理)。
           磁珠采用在高频段具有良好阻抗特性的铁氧体材料烧结面成,专用于抑制信号线、电源线上的高频噪声和尖峰干扰,还具有吸收静电脉冲的能力。磁珠有很高的电阻率和磁导率,等效于电阻和电感串联,但电阻值和电感值都随频率变化。它比普通的电感有更好的高频滤波特性,在高频时呈现阻性,所以能在相当宽的频率范围内保持较高的阻抗,从而提高调频滤波效果。磁珠对高频信号才有较大阻碍作用,一般规格有100/100mMHZ,它在低频时电阻比电感小得多。铁氧体磁珠(Ferrite Bead)是目前应用发展很快的一种抗干扰组件,廉价、易用,滤除高频噪声效果显着。

           铁氧体磁珠不仅可用于电源电路中滤除高频噪声(可用于直流和交流输出),还可广泛应用于其它电路,其体积可以做得很小。特别是在数字电路中,由于脉冲信号含有频率很高的高次谐波,也是电路高频辐射的主要根源,所以可在这种场合发挥磁珠的作用。在电路中只要导线穿过它即可。当导线中电流穿过时,铁氧体对低频电流几乎没有什么阻抗,而对较高频率的电流会产生较大衰减作用。

    .电感与磁珠的区别
           有一匝以上的线圈习惯称为电感线圈,少于一匝(导线直通磁环)的线圈习惯称之为磁珠。电感是储能元件,而磁珠是能量转换(消耗)器件,电感多用于电源滤波回路,磁珠多用于信号回路,用于EMC对策;磁珠主要用于抑制电磁辐射干扰,而电感用于这方面则侧重于抑制传导性干扰。两者都可用于处理EMCEMI问题;电感一般用于电路的匹配和信号质量的控制上,在模拟地和数字地结合的地方用磁珠。
          作为电源滤波,可以使用电感。磁珠的电路符号就是电感但是型号上可以看出使用的是磁珠在电路功能上,磁珠和电感是原理相同的,只是频率特性不同罢了;磁珠由氧磁体组成,电感由磁心和线圈组成,磁珠把交流信号转化为热能,电感把交流存储起来,缓慢的释放出去。
           电感是储能元件,而磁珠是能量转换(消耗)器件;电感多用于电源滤波回路,磁珠多用于信号回路,用于EMC对策;磁珠主要用于抑制电磁辐射干扰,而电感用于这方面则侧重于抑制传导性干扰。两者都可用于处理EMCEMI问题。磁珠是用来吸收超高频信号,象一些RF电路,PLL,振荡电路,含超高频存储器电路(DDR SDRAMRAMBUS等)都需要在电源输入部分加磁珠,而电感是一种蓄能元件,用在LC振荡电路,中低频的滤波电路等,其应用频率范围很少超过50MHZ

    五、几种方法综述
            电容隔直通交,造成浮地。电容不通直流,会导致压差和静电积累,摸机壳会麻手。如果把电容和磁珠并联,就是画蛇添足,因为磁珠通直,电容将失效。串联的话就显得不伦不类。
      电感体积大,杂散参数多,特性不稳定,离散分布参数不好控制,体积大。电感也是陷波,LC谐振(分布电容),对噪点有特效。
      磁珠的等效电路相当于带阻陷波器,只对某个频点的噪声有抑制作用,如果不能预知噪点,如何选择型号,况且,噪点频率也不一定固定,故磁珠不是一个好的选择。
            0欧电阻相当于很窄的电流通路,能够有效地限制环路电流,使噪声得到抑制。电阻在所有频带上都有衰减作用(0欧电阻也有阻抗),这点比磁珠强。
            总之,关键是模拟地和数字地要一点接地。建议,不同种类地之间用0欧电阻相连;电源引入高频器件时用磁珠;高频信号线耦合用小电容;电感用在大功率低频上。  

     

    展开全文
  • 代码中的魔鬼数字

    2018-05-15 15:19:04
    魔鬼数字的定义:在代码中没有具体含义的数字、字符串。魔鬼数字主要影响了代码可读性,读者看到的数字无法理解其含义,从而难以理解程序的意图。当程序中出现的魔鬼数字过多时,代码的可维护性将会急剧下降,代码变...
  • 问题 A(1036): 【USACO TRAINING】数字金字塔 [提交][状态][我的提交] 题目描述 考虑在下面被显示的数字金字塔。 写一个程序来计算从最高点开始在底部任意处结束的路径经过数字的和的最大。每一步可以走到左下方...
  • 有趣的数字

    2018-04-05 14:54:14
    有趣的数字时间限制:1秒空间限制:32768K小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述: 输入包含多组测试数据。 对于每组测试数据: N - 本组测试数据...
  • 之前的LTC2208评估圆满完成。现在可以开始下一步的工作了。
  • 分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!... /* ...从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的...
  • 在输入框输入任何非数字内容,都会自动退格并清除! 核心代码: onKeyUp=”value=value.replace(/[^\d]/g,”)” 示例代码 &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&quot;en&...
  • 数字签名与数字证书

    2013-07-25 09:41:56
    数字签名: 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。 将该报文摘要值用...
  • 通过每次碰到的总结,其实也不是那么难以解决的,主要原因是:1、对于两个类型不匹配(一个数字类型,一个非数字类型,同下)的值进行赋值操作;2、两个类型不匹配的值进行比较操作(例如,“=”);3、to_number函数...
  • 常用数字正则表达式

    2019-06-27 19:42:23
    常用数字正则表达式 数字格式验证 1、验证数字 /^[0-9]*$/ /^\d+$/ 2、只能输入n个数字 /^\d{n}$/ 3、至少输入n个以上的数字 /^\d{n,}$/ 4、只能输入m到n个数字 /^\d{m,n}$/ 自然数验证 1、数字(含...
  • 本文简单介绍图片字符识别的原理,主要识别图片中的数字,其他字符识别原理类似。大家应该知道,对于人类来说,可以很容易理解一张图片所表达的信息,这是人类视觉系统数万年演变进化的结果。但对于计算机这个诞生...
  • 今天继续看《算法的乐趣》,学习了阿拉伯数字与中文数字的转化。 汉字用零一二三四五六七八九作为基本计数,与阿拉伯数字数字偏移位置的权位不一样,中文数字是才有“数字+权位”的方式组成数字,比如百,千,万...
  • ## \d 匹配任意数字。 ## \D 匹配任意非数字字符。 ## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。 ## x* 匹配0次或者多次 x 字符。 ## x+ 匹配1次或者多次 x 字符。 ## x{n,m} 匹配...
  • 一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,...
  • 在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下: 1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现 例如:将pony表中的d 进行...
  • 第一种方法:isNaN()使用js自带全局函数isNaN(), isNaN()返回一个Boolean...//返回一个true如果以上c为一个空串或是一个空格,isNaN将把c当作数字0来处理,所以检查不严谨。第二种方法:正则表达式function checkNu...
1 2 3 4 5 ... 20
收藏数 3,326,752
精华内容 1,330,700
关键字:

数字