精华内容
下载资源
问答
  • 最近在使用 Java 作为 WebSocket 客户端连接 Node.js WebSocket 服务器时候,由于使用客户端库比较老,所以遇到了字节符号的问题,上网查了一下,看到这篇文章写的很有意思,就翻译一下。原文作者:Sean R. ...

    最近在使用 Java 作为 WebSocket 客户端连接 Node.js 的 WebSocket 服务器的时候,由于使用的客户端库比较老,所以遇到了字节符号的问题,上网查了一下,看到这篇文章写的很有意思,就翻译一下。

    原文作者:Sean R. Owens

    以下是正文

    Java 中的无符号类型是怎么回事儿?

    在 C 和 C++ 这样的语言中,都提供了不同长度的整数类型:char, short, int, long (实际上,char 并不是真正的整数,但是你可以把它当成整数来用。在实际应用场景中,很多人在 C 语言中用 char 来存储较小的整数)。在大部分的 32 位操作系统上,这些类型分别对应 1 字节,2 字节,4 字节和 8 字节。但是需要注意的是,这些整数类型所对应的字节长度在不同的平台上是不一样的。相对而言,由于 Java 是针对跨平台来设计的,所以无论运行在什么平台上,Java 中的 byte 永远是 1 字节,short 是 2 字节,int 是 4 字节,long 是 8 字节。

    C 语言中的整数类型都提供了对应的“无符号”版本,但是 Java 中就没有这个特性了。我觉得 Java 不支持无符号类型这个事儿实在是太不爽了,你想想,大量的硬件接口、网络协议以及文件格式都会用到无符号类型!(Java 中提供的 char 类型和 C 中的 char 有所不同,在 Java 中,chat 是用 2 个字节来表示 Unicode 值,在 C 中,char 是用 1 个字节来表示 ASCII 值。虽然可以在 Java 中把 char 当做无符号短整型来使用,用来表示 0 到 2^16 的整数。但是这样来用可能产生各种诡异的事情,比如当你要打印这个数值的时候实际上打印出来的是这个数值对应的字符而不是这个数值本身的字符串表示)。

    那么,如何应对 Java 中无符号类型的缺失?

    好吧,对于我给出的这种方案,你可能会不喜欢……

    答案就是:使用比要用的无符号类型更大的有符号类型。

    例如:使用 short 来处理无符号的字节,使用 long 来处理无符号整数等(甚至可以使用 char 来处理无符号短整型)。确实,这样看起来很浪费,因为你使用了 2 倍的存储空间,但是也没有更好的办法了。另外,需要提醒的是,对于 long 类型变量的访问不是原子性操作,所以,如果在多线程场景中,你得自己去处理同步的问题。

    如何以无符号的形式存储和读取数据?

    如果有人从网络上给你发送了一堆包含无符号数值的字节(或者从文件中读取的字节),那么你需要进行一些额外的处理才能把他们转换到 Java 中的更大的数值类型。

    还有一个就是字节序问题。但是现在我们先不管它,就当它是“网络字节序”,也就是“高位优先”,这也是 Java 中的标准字节序。

    从网络字节序中读取

    假设我们开始处理一个字节数组,我们希望从中读取一个无符号的字节,一个无符号短整型和一个无符号整数。

    short anUnsignedByte = 0;

    char anUnsignedShort = 0;

    long anUnsignedInt = 0;

    int firstByte = 0;

    int secondByte = 0;

    int thirdByte = 0;

    int fourthByte = 0;

    byte buf[] = getMeSomeData();

    // Check to make sure we have enough bytes

    if(buf.length < (1 + 2 + 4)) doSomeErrorHandling();

    int index = 0;

    firstByte = (0x000000FF & ((int)buf[index]));

    index++;

    anUnsignedByte = (short)firstByte;

    firstByte = (0x000000FF & ((int)buf[index]));

    secondByte = (0x000000FF & ((int)buf[index+1]));

    index = index+2;

    anUnsignedShort = (char) (firstByte << 8 | secondByte);

    firstByte = (0x000000FF & ((int)buf[index]));

    secondByte = (0x000000FF & ((int)buf[index+1]));

    thirdByte = (0x000000FF & ((int)buf[index+2]));

    fourthByte = (0x000000FF & ((int)buf[index+3]));

    index = index+4;

    anUnsignedInt = ((long) (firstByte << 24

    | secondByte << 16

    | thirdByte << 8

    | fourthByte))

    & 0xFFFFFFFFL;

    好吧,现在看起来有一点儿复杂。但是实际上很直观。首先,你看到很多这样的东东:

    0x000000FF & (int)buf[index]

    首先,把有符号的 byte 提升成 int 类型,然后对这个 int 进行按位与操作,仅保留最后 8 个比特位。因为 Java 中的 byte 是有符号的,所以当一个 byte 的无符号值大于 127 的时候,表示符号的二进制位将被设置为 1(严格来说,这个不能算是符号位,因为在计算机中数字是按照补码方式编码的),对于 Java 来说,这个就是负数。当将负数数值对应的 byte 提升为 int 类型的时候,0 到 7 比特位将会被保留,8 到 31 比特位会被设置为 1。然后将其与 0x000000FF 进行按位与操作来擦除 8 到 31 比特位的 1。上面这句代码可以简短的写作:

    0xFF & (int)buf[index]

    Java 自动填充 0xFF 的前导的 0 ,并且在 Java 中,位操作符 & 会导致 byte 自动提升为 int。

    接下来你看到的是很多的按位左移运算符 <

    最后是按位或操作符 |。假设你现在把一个无符号短整型的 2 个字节加载到了对应的整数中,你会得到 0x00000012 和 0x00000034 两个整数。现在你把第一个字节左移 8 位得到 0x00001200 和 0x00000034,然后你需要把他们再拼合回去。所以需要进行按位或操作。0x00001200 | 0x00000034 会得到 0x00001234,这样就可以存储到 Java 中的 char 类型。

    这些都是基础操作。但是对于无符号 int,你需要把它存储到 long 类型中。其他操作和前面类似,只是你需要把 int 提升为 long 然后和 0xFFFFFFFFL 进行按位与操作。最后的 L 用来告诉 Java 请把这个常量视为 long 来处理。

    向网络写入字节序

    假设现在我们要把上面步骤中我们读取到的数值写入到缓冲区。我们当时是按照无符号 byte,无符号 short 和无符号 int 的顺序读取的,现在,甭管什么原因吧,我们打算按照无符号 int,无符号 short 和无符号 byte 的顺序来写出。

    buf[0] = (anUnsignedInt & 0xFF000000L) >> 24;

    buf[1] = (anUnsignedInt & 0x00FF0000L) >> 16;

    buf[2] = (anUnsignedInt & 0x0000FF00L) >> 8;

    buf[3] = (anUnsignedInt & 0x000000FFL);

    buf[4] = (anUnsignedShort & 0xFF00) >> 8;

    buf[5] = (anUnsignedShort & 0x00FF);

    buf[6] = (anUnsignedByte & 0xFF);

    字节序到底是怎么回事儿?

    这是什么意思?我需要关注吗?以及,网络字节序什么样的?

    Java 中所使用的“高位优先”字节序又被称为“网络字节序”。Intel x86 处理器是“低位优先”字节序(除非你在上面运行 Java 程序)。x86 系统创建的数据文件通常是(但不是必须的)低位优先的,而 Java 程序创建的数据文件通常是(但不是必须的)高位优先的。任何系统都可以按照自己需要的字节序来输出数据。

    字节序是什么意思?

    “字节序”是指计算机是按照何种顺序在内存中存储数值的。常见的无非是高位优先和低位优先两种模式。你当然需要关注字节序的问题了,否则,如果你按照高位优先的字节序去读取一个低位优先字节序存储的数据文件,很可能就只能得到乱七八糟的数据了,反之亦然。

    任何数值,无论是何种表达方式,比如 5000,000,007 或者它的 16 进制格式 0x1DCD6507,都可以看做是数字字符串。对于一个数字字符串,我们可以认为它有开始(最左),有结束(最右)。在英语中,第一个数字就是最高位数字,例如 5000,000,007 中的 5 实际上表示的是 500,000,000。最后一位数字是最低位数字,例如 500,000,007 中的 7 对应的值是 7。

    当我们说到字节序的时候,我们是参照我们写数字时候的顺序。我们总是从高位开始写,然后是次高位,直到最低位,是不是这样啊?

    在上面的例子中,数值 500,000,007,对应 16 进制表示方式是 0x1DCD6507,我们把它分成 4 个独立的字节:0x1D, 0xDC, 0x65 和 0x07,对应 10 进制的值 29, 205, 101 和 7。最高位字节 29 表示 29 *256 * 256 * 256 = 486539264,接下来是 205,表示 205 * 256 * 256 = 13434880,然后是 101,表示 101 * 256 = 25856,最后一个 7 就是 7 * 1 = 7。它们的值:

    486539264 + 13434880 + 25856 + 7 = 500,000,007

    当计算机在它的内存中存储这 4 个字节的时候,假设存储到内存的地址是 2056, 2057, 2058 和 2059。那么问题来了:到底在哪个内存地址上存储哪个字节呢?它可能是在地址 2056 存储 29, 2057 存储 205,2058 存储 101,2059 存储 7,就像你写下这个数字的顺序一样,我们称之为高位优先。但是,其他的计算机架构可能是在 2056 存储 7,2057 存储 101, 2058 存储 205, 2059 存储 29,这样的顺序我们称之为低位优先。

    针对 2 个字节的以及 8 个字节的存储方式,也是同样的。最高位字节称为 MSB,最低位字节称为 LSB。

    好吧,那么我为什么要关心字节序的问题?

    这个视情况而定了。通常情况下你不需要关心这个问题。无论你在什么平台运行 Java 程序,它的字节序都是一样的,所以你就无需关心字节序的问题。

    但是,当你要处理其他语言产生的数据呢?那么,字节序就是一个大问题了。你必须得保证你按照数据被编码的顺序来进行解码,反之亦然。如果你足够幸运,通常在 API 或者协议规范、文件格式说明中找到关于字节序的说明。如果不巧……祝你好运吧!

    最重要的是,你需要清晰的了解你所使用的字节序是什么样的以及你需要处理的数据的字节序是什么样的。如果二者不同,你需要进行额外的处理来保证正确性。还有就是,如果你需要处理无符号数值,你需要确保将正确的字节放到对应 integer/short/long 类型的正确位置。

    网络字节序又是什么?

    当设计 IP 协议的时候,高位优先字节序被设计为网络字节序。在 IP 报文中德数值类型都是按照网络字节序存储的。产生报文的计算机所使用的字节序称为“宿主机字节序”,可能和网络字节序一样,也可能不一样。和网络字节序一样,Java 中的字节序是高位优先的。

    为什么没有无符号类型?

    为什么 Java 不提供无符号类型呢?好问题!我也常常觉得这个事情非常诡异,尤其是当时已经有很多网络协议都使用无符号类型了。在 1999 年,我在 Web 上也找了很久(那个时候 google 还没有这么棒),因为我总是觉得这事儿不应该是这样。直到有一天我采访 Java 发明者中的一位(是 Gosling 吗?不太记得了,要是我保存了当时的网页就好了),这位设计者说了一段话,大意是:“嘿!无符号类型把事情搞复杂了,没有人真正需要无符号类型,所以我们把它赶出去了”。

    这里有一个页面,是记录了一次对 James Gosling 的采访,看看能否收到一些启发:

    问:程序员经常讨论使用“简单语言”编程的优点和缺点。你怎么看待这个问题?你觉得 C/C++/Java 算是简单语言吗?

    Ritchie: 略

    Stroustrup:略

    Gosling:作为一个语言设计者,我不太理解所谓的“简单”结束了是什么意思,我希望 Java 开发者把这个概念留在他自己脑海里就好啦。举例来说,按照那个定义,Java 不算是简单语言。实际上很多语言都会在极端案例下完蛋,那些极端案例是人们都不会理解的。你去问 C 语言开发人员关于无符号的问题,你很快就会发现没有几个 C 语言开发人员真正理解无符号类型到底发生了些什么,什么是无符号运算。这些事情让 C 语言变得复杂。我觉得 Java 语言是非常简单的。

    另外,参考:

    Oak 往事……

    by Heinz Kabutz

    2003 年 7 月 15

    为了丰富我对 Java 历史的了解,我开始研究 Sun 的网站,无意间发现了 Oak 0.2 的语言规范书。Oak 是 Java 语言最早使用的名称,这份文档算是现存的最古老的关于 Oak 的文档了。

    ……

    无符号整数(3.1 节)

    规范书说:“8 比特,16 比特,32 比特,64 比特的,这 4 种不同宽度的整数类型都是有符号的,除非在前面加上 unsigned 修饰符”。

    在侧栏中又说:“无符号类型尚未实现;可能永远也不会实现了。” 好吧,就是这样了。

    展开全文
  • Python大家对于这门语言理解大多是说Python是最简单编程语言,但是这几个深坑肯定是十个人无一未踩过!特意总结了一下这些坑,看看你踩过没?缩进Python是强制缩进语言...即使得一样也容易分别,一般...
    2bd9385575e8c9cdf1c3a9be56ceb5e7.png

    Python大家对于这门语言的理解大多是说Python是最简单的编程语言,但是这几个深坑肯定是十个人无一未踩过的!特意总结了一下这些坑,看看你踩过没?

    缩进

    Python是强制缩进的语言,很多朋友第一次接触python时可能会不习惯,缩进老是犯错。

    IndentationError: unexpected indent

    6a2933501426666c120f54c01fca091f.png
    94e0d8cd4fbfb75b216c041d13ec1c73.png

    中英文符号

    在Python编程中,符号是有中英文分别的。即使长得一样也很容易分别,一般的英文符号比中文符号苗条些,你可以在键盘上动手试试!

    7ed23e96aaf29e12cf3a119933096aec.png

    SyntaxError: invalid syntax

    c20e62cb77ff1663e52cc379f6cc6329.png

    单词错误

    这个问题的解决方法是:我们Python程序员必须要长期从事编程,不然我们很难察觉到自己的英文就拼写错了,毕竟我们的英语水平大多不怎么样!

    5c204702480cf23ca2de51688960fdd7.png

    NameError: name 'world' is not defined

    46dad585fe34fdb3737e698d6645bf83.png

    代码块忘了冒号

    Python的很多代码块结构必须要用冒号,像if、for这些有时候必须循环就要用到:,但是很多朋友总是忘记。

    6051d5a340a99f3ae9feda4d00f9be05.png

    SyntaxError: invalid syntax

    28a1c63868b88ea5c7269ea1f2859357.png

    IDE魔怔

    IDE是一款非常强大的Python工具了,因为它会提示语法错误,而且有颜色、底线加以区分。但是有时候底线报错不准,那么你就头大了,分不清真假了!

    d8de6afff4560a782c82e765140e316c.png

    纸上谈兵、瞎琢磨

    很容易理解这两点,就是说很多学python的觉得很容易,有一部分人只会看书、视频学习,而从不自己去尝试。

    另外一种,自己瞎琢磨却从不看别人是怎么做的。

    这两点,一般都是那种学习能力很差的,又非常自傲的程序员才会做出来的事,科学的学习方法才是最有效的!

    64f919952665fcd6a25c9322252d64aa.png

    最后,想学习Python的小伙伴们!

    请关注+私信回复:“资料”就可以拿到一份我为大家准备的Python学习资料!

    ea0525daf50a6cee2f66e9aec49604dc.png

    pytyhon学习资料

    c426c837af77c14b4c8f38d917fe15a3.png

    python学习资料

    展开全文
  • 如果用二进制数写程序,只要这个数比较大, 位数就会很长,很容易写错,同时二进制并不直观,写出来数是否正确,需要转换才能知道。因此编程中一般不使用二进制来表示数,而采用其他进制,,然后经过程序编译过程,...

    在给计算机编程时,经常需要将数据告诉计算机,会将二进制数直接输入计算机, 但二进制数的特点是,只有0和1两种记数,位数比较长。如果用二进制数写程序,只要这个数比较大, 位数就会很长,很容易写错,同时二进制并不直观,写出来的数是否正确,需要转换才能知道。因此编程中一般不使用二进制来表示数,而采用其他进制,,然后经过程序编译过程,最终将这些其他进制表示的数转换成二进制再送给计算机。那你知道如何进行进制转换吗?其实呀,用我们的格式化字符串就可以解决了,来,上教程。

    经常使用的格式化字符串:%c :格式化字符及其ASCII码

    %s :格式化字符串

    %d :格式化整数

    %f :可指定小数点精度

    %e :用科学计数法表示小数

    %g :根据值的的具体情况使用%f或%e

    %o :八进制

    %x :十六进制

    转换代码:

    1、二进制转换%%% python 中的二进制可以直接用 bin() 函数处理

    I = input('请输入一个数')

    I = int(I)

    print(bin(I))

    2、其他进制转换>>> num=10

    >>> print('十六进制:%#x' % num)   #使用%x将十进制num格式化为十六进制

    十六进制:0xa

    >>> print('二进制:', bin(num))    #使用bin将十进制num格式化为二进制

    二进制: 0b1010

    >>> print('八进制:%#o' % num)     #使用%o将十进制num格式化为八进制

    八进制:0o12

    以上就是用python格式化符号转换进制的过程啦,进制转换为开发人员提供了便利,提升至高效率开发。快学起来吧~

    展开全文
  • 普通变压器种类表 7-1 按使用情况划分普通变压器解说...(3)变压器与其他元器件在外形特征上有明显不同,所以在线路板上容易识别。电路符号在电路符号中变压器用字母 B 或 T 表示,其中 T 是英语 Transforme...

    普通变压器的种类

    395ebab7689e084e00ee601ff1c8407a.png

    表 7-1 按使用情况划分普通变压器的解说

    外形特征

    (1)变压器通常有一个外壳,有的是金属的外壳,但有些变压器没有外壳,形状也不一定是长方体。

    (2)变压器引脚有许多,最少有三根,多的达十多根,各引脚之间一般不能互换使用。

    (3)变压器与其他元器件在外形特征上有明显的不同,所以在线路板上很容易识别。

    电路符号

    在电路符号中变压器用字母 B 或 T 表示,其中 T 是英语 Transformer(变压器)的缩写。

    ae6cd57fb08803ccd90248c5e8463984.png

    表 7-2 变压器电路符号识图信息解说

    电感器只有一个线圈,变压器有两个以上线圈

    自耦变压器电路符号与电感器电路符号类似,但是前者必有一个抽头,而后者没有抽头,要注意它们之间的这一区别。

    变压器结构

    19870e1fff7684d48478ad5ac45888e2.png

    图 7-1 变压器结构示意图

    主要由下列几部分组成

    (1)初级线圈和次级线圈是变压器的核心部分,变压器中的电流由它构成回路。初级线圈与次级线圈之间高度绝缘,如果次级线圈有多组时,各组线圈之间也高度绝缘。各组线圈与变压器其他部件之间也高度绝缘

    (2)骨架。线圈绕在骨架上。一个变压器中只有一个骨架,初级线圈和次级线圈均绕在同一个骨架上。骨架用绝缘材料制成,骨架套在铁心或磁心上。

    (3)铁心或磁心用于构成磁路。铁心或磁心用导磁材料制成,它的磁阻很小。有的变压器没有铁心或磁心,这并不妨碍变压器的工作,因为各种用途的变压器对铁心或磁心有不同的要求。

    (4)外壳用于包住铁心或磁心,同时具有磁屏蔽和固定变压器的作用。外壳用金属材料制成。有的变压器没有外壳。

    (5)引脚是变压器内部初级、次级线圈的引出线,用于与外电路连接。

    工作原理

    变压器只能输入交流电压。从变压器初级线圈两端输入交流电压,从次级线圈输出交流电压。

    给初级线圈输入交流电压后,初级线圈中有交流电流流动,初级线圈产生交变磁场,磁场的磁力线绝大多数由铁心或磁心构成回路。

    因次级线圈也绕在铁心或磁心上,变化的磁场通过次级线圈,在次级线圈两端产生感生电动势。次级线圈所产生的电压大小与输入电压大小不同,其频率和变化规律与交流输入电压一样。

    常用参数

    7617eacf5f2a816ffba802c17c70b309.png

    表 7-3 变压器常用参数解说

    变压器故障特征

    12dec311ebaca57f82fa7b35014a3c98.png

    表 7-4 变压器故障特征解说

    变压器隔离特性

    所谓变压器隔离特性是初级回路与次级回路之间共用参考点可以隔离。

    大多数电子电器中,电源变压器次级线圈输出的交流电压很低,所以采用变压器之后不存在触电的危险,这对故障检修很有益。

    收录音机、黑白电视机、组合音响等均采用电源变压器,但彩色电视机、录像机等许多电器中不采用这种电源变压器,所以修理过程中最好使用隔离变压器,可以提高安全性。

    88927117d13e2412f8318d34adf68688.png

    电源变压器初级、次级线圈两端电压认识

    变压器输出的 220Ⅴ 电压是指次级线圈两端之间的电压,即 3、4 端之间的电压。人站在大地上只接触变压器 T1 次级线圈任一端(单手触碰摸3点或4点)没有危险。

    变压器隔直流通交流特性

    变压器初级线圈中流过交流电流时,次级线圈两端有交流电压输出,所以变压器能够让交流电通过,具有通交的作用。

    1. 变压器次级线圈输出电压与输入电压的频率相同
    2. 变压器的次级输出电压大小可以与初级线圈两端的交流输入电压大小不同,这由变压器的变压比特性决定

    变压比

    变压器的变压比又称电压比,俗称匝变比,用n表示,它是初级线圈匝数与次级线圈数之比,可用下列公式表示n

    f4c3465beca26ecaaba29621eb40c5ac.png

    式中,n为变压比;N1为初级线圈的匝数;N2为次级线圈的匝数;U1为初级线圈两端的输入电压;U2为次级线圈两端的输出电压。

    当变压器的初级或次级线圈没有抽头时,该变压器的变压比是确定的,如果初级线圈或次级线圈有抽头,使用不同的抽头时,变压器的变压比不同。

    2849bf942539b69fe8f8c80792f62947.png

    表 7-5 3 种不同n值变压器解说

    变压器初级线圈和次级线圈电压、电流、阻抗之间关系

    eb1796112486b2330ffeef8597348235.png

    图 7-2 变压器电路

    降压变压器的输出电压虽然低,但是输出电流大,所以在降压变压器中次级线圈的线径比初级线圈要粗。

    升压变压器的输出电压虽然高,但是输出电流小,所以在升压变压器中次级线圈的线径比初级线圈的要细。

    4240a409a6456b5502b0921e0358c76b.png

    变压器电路

    典型电源变压器电路

    b26d545aef3038827ec8bfe6708c217f.png

    图 7-3 典型电源变压器电路

    从电路中看清电源变压器有几组次级线圈

    分析电源变压器次级电路的另一个关键是找出次级线圈的哪一端接地

    电源变压器 T1 次级线圈两端交流输出电压大小与实际加到 T1 初级线圈两端的交流电压大小成正比关系

    带抽头变压器

    dfbd06cffa9f9a19e7763a544abe1fea.png

    图 7-4 次级多抽头电源变压器电路

    47f5af4fc1174023cb369546cb9581e8.png

    次级带中心抽头电源变压器

    04351076f9944ca9ca864ddb16b70245.png

    两组次级线圈电源变压器

    两组次级线圈中哪一组次级线圈的匝数多,它的输出交流电压就大

    73f70f7d77589a22cc6b6469a60db7f9.png

    图 7-5 音频输入变压器电路

    图 7-5 是音频输入变压器电路。电路中的 T1 是音频输入变压器,它有两组独立的次级线圈,能够分别输出两组音频信号电压。电路中的 VT1、VT2 和 VT3 组成的三极管放大电路用于放大音频信号。

    展开全文
  • 必须留意的是假如在Excel中要想应用公式计算,全部的符号都务必在英文情况下输入才可以确保公式计算的精确性!!下边各自展现这21个符号键的用法,有必须的盆友能够个人收藏啊!这种符号的秘密你清楚吗?1、输入独特...
  • Python大家对于这门语言理解大多是说Python是最简单编程语言,但是这几个深坑肯定是十个人无一未踩过!特意总结了一下这些坑,看看你踩过没?缩进Python是强制缩进语言...即使得一样也容易分别,一般...
  • 比如,一、一句话中间该停顿的地方不停顿,长长的一句话只有结尾有一个句号。二、“一逗到底”,分不清什么时候该点逗号,什么时候点句号。三、顾前不顾后,写了前引号,找不到后引号。四、标点位置不规范的情况 ,...
  • [toc]DllCall是AHK一个强大功能,用来调用Dll文件中函数。用法格式如下:Result := DllCall("DllFileFunction" , Type1, Arg1...可能觉得DllCall复杂、难用,于是对Windows强大WinAPI函数就不敢上手,只能...
  • 朋友圈秒赞文案☁️可爱文案句子 特殊符号 ❶光是遇见,就已经美好了 ❷σண♡ ྀི ྀི我頻繁地記錄著 因為覺得生活值得 ❸✐ ︎ Hªᵖᵖᵞ ꔛ✨“享受快乐时光一些证据”❹肩膀有点痒,可能在小翅膀 ‍♀...
  • 来源:计量经济学服务中心经济金融及Python应用讲义...一些复杂的程序往往需要很长的代码才能实现。如果没有注释,即使创作者本人也很难在第一时间理解代码的含义。在Python中,我们可以使用注释语句来对代码进行说...
  • 笔者在sqlilabs通关过程中就遇到不同场景用注释符不同,这让我疑惑,让我们来深入挖掘一番(篇幅比较,省时间可以跳到最后看结论)。以第一关(GET提交方式)和第十一关(POST提交方式)为例,从前端--数据传输--...
  • 不久前,某研究院公布了一个预测报告,是关于预测全...在电力系统中,变压器占有重要位置,我们日常生活中也随处可见变压器这个设备,因此可见变压器十分重要,作为一名电力人,应该对变压器有较为系统全面...
  • 它是这样:连乘符号一般形式为:连乘符号首先,重要一点,连乘符号∏只能表示自然数个有相同运算f数相乘。通俗点讲,就是∏下面a、b都必须是自然数,f(i)指是对i进行f运算,什么运算都行。上面...
  • 当我们进行batch个训练数据一起计算时候,我们会遇到多个训练样例长度不同情况,这样我们就会自然进行padding,将短句子padding为跟最长句子一样。 问题是,句子“Yes”只有一个单词,但是padding了5...
  • 修剪和剪切剪辑准确性高。 文字:在各种字体,表情符号,阴影,颜色和不透明度之间进行选择 过渡:创建具有电影过渡专业外观视频 长宽比:针对最受欢迎社交媒体优化视频 过滤器:使用可调过滤器编辑独特...
  • 跟Python中多用法类似,下划线_不同用法绝大部分(不全是)都是一种惯例约定。一、单个下划线直接做变量名(_)主要有三种情况:1. 解释器中_符号是指交互解释器中最后一次执行语句返回结果。这种用法最初出现在...
  • 在百度和github上上搜索了好久,收获却少:要么语料量级太小,要么数据过于成旧,或需要处理太复杂。 不知道你是否也遇到了这样问题? 我们这个项目,就是为了解决这一问题贡献微薄之力。 1.维基百科json版...
  • 首页 > 新闻列表 > 正文发布时间:2020-11-05 15:59:00 浏览: 43 导读:广州康为环保为您提供海南蔬菜...厨房垃圾处理机有一个听众,是广大消费者青睐。虽然在市场垃圾处理数量有所增加,...
  • 为什么不用线性回归代价函数表示,因为线性回归代价函数可能是非凸,对于分类问题,使用梯度下降难得到最小值,上面代价函数是凸函数 图像如下,即y=1时: 可以看出,当趋于1,y=1,与预测值一致,...
  • 需要注意的是如果在Excel中想要使用公式,所有的符号都必须在英文状态下输入才能保证公式的准确性!!下面分别展示这21个符号键的用法,有需要的朋友可以收藏啊!这些符号的小秘密你知道吗?1、输入特殊的符号输入...
  • 在现实世界中,人们可以制造出无限多的东西和事物吗?先来看看我们课本中所学的知识,无限多的概念是普遍...在回答这个问题之前,我们必须先回到数学中,了解一下无限的概念,在数学中,无限的符号是∞,一个横着的...
  • 现在我们幸运,因为我们有函数来方便地操作 IP 地址。没有 必要用手工计算它们,也没有必要用"   首先,假设你已经有了一个sockaddr_in结构体ina,你有一个IP地址"132.241.5.10"要储存在其中,你就要用到...
  • 课程中也会有多实操项目,帮助学生更好地应用自己学到深度学习技术,解决真实世界问题。这些项目将涵盖医疗、自动驾驶、和自然语言处理等时髦领域,以及音乐生成等等。Coursera上有一些特定方向和知识资料,但...
  • 此外,这些错误可能会在很长一段时间内被忽略。 在我其他前四个菜鸟Python错误之前。避免这些新手Python错误他们可能会工作,但可能会更好。今天,我将分享更多在Python 3.8中容易犯错误。№1:+ =在许多情况下,...
  • 首发于微信公众号:Python编程...懒得长长的变量名,用 _;无用的垃圾变量,用 _;以上,我们都熟悉了,今天要介绍的是他在交互式中使用。>>>3 + 47>>>_7>>>name='ming'>>>...
  • 官方网站也提供了英文版使用说明,以及多脚本,但由于每个人完成实验设计,目的等都不相同,所以多脚本需要对Praat脚本语法比较熟悉才能灵活使用。 Praat基本操作 打开保存 打开软件,双击已经下载...
  • java8_api_math

    2018-02-10 20:55:00
    java.math包 BigDecimal BigInteger MathContext RoundingMode这是枚举 BigDecimal 不可变的,任意精度的有符号十进制数,适合商业计算中,数字很长的数字运算 方法add,subtract,multiply,divide   package...
  • 现在我们幸运,因为我们有函数来方便地操作 IP 地址。没有 必要用手工计算它们,也没有必要用"操作来储存成长整字型。 首先,假设你已经有了一个sockaddr_in结构体ina,你有一个IP地址"132.241....
  • 使用intptr_t和uintptr_t

    2015-07-27 22:55:05
    它们提供了一种可移植且安全方法声明指针,而且和系统中使用指针长度相同,对于把指针转化成整数形式来说有用。 uintptr_t 是intptr_t 符号版本。对于大部分操作,用intptr_t 比较好。uintptr_t 不像...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 532
精华内容 212
热门标签
关键字:

很长的符号____________