精华内容
下载资源
问答
  • 什么叫符号整型

    2019-10-07 04:26:31
    一般的int是有符号型整数,整数是以二进制形式存储在计算机中的,而它的最高位就是...无符号型整数的最高位就不是符号位了,而是组成该数的部分。 转载于:https://www.cnblogs.com/sunzhenyong/p/3373696.html...

    一般的int是有符号型整数,整数是以二进制形式存储在计算机中的,而它的最高位就是符号位,若为1,则该数为负数,若为0,则该数为正数。无符号型整数的最高位就不是符号位了,而是组成该数的一部分。

    转载于:https://www.cnblogs.com/sunzhenyong/p/3373696.html

    展开全文
  • int 是整数类型,用于定义变量的类型,有符号,unsigned int 是无符号的整数类型,直白点说有符号符号整型就是能不能存放负数。 根据程序编译器的不同,整形定义的字节数不同。51类单片机的C语言中,int代表2个...

    int 是整数类型,用于定义变量的类型,有符号,unsigned int 是无符号的整数类型,直白点说有符号无符号整型就是能不能存放负数。
    根据程序编译器的不同,整形定义的字节数不同。51类单片机的C语言中,int代表2byte16位);如果是32ARM处理器C语言中,则int代表4byte(32)。(如32XP)把int定义为4 byte(32)。  注意一下取值范围。若在32位系统中,signed int a, a范围[-2^31 , 2^31 -1] [-21474836482147483647]
    所以一个int定义需要注意几个方面,一个是类型,一个是存储数据的大小范围。

    展开全文
  • 符号与强符号

    千次阅读 2011-06-27 09:25:00
    3.5.5 弱符号与强符号2009-04-22 12:52 俞甲子/石凡/潘爱民 人民邮电出版社 《程序员的自我修养:链接、装载与库》第3章目标文件...AD: 3.5.5 弱符号与强符号我们经常在编程中碰到种情况叫符号重复定义。多个目标

    3.5.5 弱符号与强符号

    2009-04-22 12:52 俞甲子/石凡/潘爱民 人民邮电出版社

    《程序员的自我修养:链接、装载与库》第3章目标文件里有什么。本章介绍COFF目标文件格式和源代码编译后如何在目标文件中存储。本节为大家介绍弱符号与强符号。

    AD:

     

    3.5.5  弱符号与强符号

    我们经常在编程中碰到一种情况叫符号重复定义。多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候将会出现符号重复定义的错误。比如我们在目标文件A和目标文件B都定义了一个全局整形变量global,并将它们都初始化,那么链接器将A和B进行链接时会报错:

     

    b.o:(.data+0x0): multiple definition of `global'
    a.o:(.data+0x0): first defined here
    这种符号的定义可以被称为强符号(Strong Symbol)。有些符号的定义可以被称为弱符号(Weak Symbol)。对于C/C++语言来说,编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为弱符号。我们也可以通过GCC的"__attribute__((weak))"来定义任何一个强符号为弱符号。注意,强符号和弱符号都是针对定义来说的,不是针对符号的引用。比如我们有下面这段程序:
    extern int ext;
    int weak;
    int strong = 1;
    __attribute__((weak)) weak2 = 2;
    int main()
    {
    return 0;
    }

    上面这段程序中,"weak"和"weak2"是弱符号,"strong"和"main"是强符号,而"ext"既非强符号也非弱符号,因为它是一个外部变量的引用。针对强弱符号的概念,链接器就会按如下规则处理与选择被多次定义的全局符号:

    规则1:不允许强符号被多次定义(即不同的目标文件中不能有同名的强符号);如果有多个强符号定义,则链接器报符号重复定义错误。

    规则2:如果一个符号在某个目标文件中是强符号,在其他文件中都是弱符号,那么选择强符号。

    规则3:如果一个符号在所有目标文件中都是弱符号,那么选择其中占用空间最大的一个。比如目标文件A定义全局变量global为int型,占4个字节;目标文件B定义global为double型,占8个字节,那么目标文件A和B链接后,符号global占8个字节(尽量不要使用多个不同类型的弱符号,否则容易导致很难发现的程序错误)。

    弱引用和强引用  目前我们所看到的对外部目标文件的符号引用在目标文件被最终链接成可执行文件时,它们须要被正确决议,如果没有找到该符号的定义,链接器就会报符号未定义错误,这种被称为强引用(Strong Reference)。与之相对应还有一种弱引用(Weak Reference),在处理弱引用时,如果该符号有定义,则链接器将该符号的引用决议;如果该符号未被定义,则链接器对于该引用不报错。链接器处理强引用和弱引用的过程几乎一样,只是对于未定义的弱引用,链接器不认为它是一个错误。一般对于未定义的弱引用,链接器默认其为0,或者是一个特殊的值,以便于程序代码能够识别。弱引用和弱符号主要用于库的链接过程,我们将在"库"这一章再来详细讲述。弱符号跟链接器的COMMON块概念联系很紧密,我们在后面"深入静态链接"这一章中的"COMMON块"一节还会回顾弱符号的概念。

    在GCC中,我们可以通过使用"__attribute__((weakref))"这个扩展关键字来声明对一个外部函数的引用为弱引用,比如下面这段代码:

    __attribute__ ((weakref)) void foo();
    int main()
    {
    foo();
    }
    我们可以将它编译成一个可执行文件,GCC并不会报链接错误。但是当我们运行这个可执行文件时,会发生运行错误。因为当main函数试图调用foo函数时,foo函数的地址为0,于是发生了非法地址访问的错误。一个改进的例子是:
    __attribute__ ((weakref)) void foo();
    int main()
    {
    if(foo) foo();
    }

    这种弱符号和弱引用对于库来说十分有用,比如库中定义的弱符号可以被用户定义的强符号所覆盖,从而使得程序可以使用自定义版本的库函数;或者程序可以对某些扩展功能模块的引用定义为弱引用,当我们将扩展模块与程序链接在一起时,功能模块就可以正常使用;如果我们去掉了某些功能模块,那么程序也可以正常链接,只是缺少了相应的功能,这使得程序的功能更加容易裁剪和组合。

    在Linux程序的设计中,如果一个程序被设计成可以支持单线程或多线程的模式,就可以通过弱引用的方法来判断当前的程序是链接到了单线程的Glibc库还是多线程的Glibc库(是否在编译时有-lpthread选项),从而执行单线程版本的程序或多线程版本的程序。我们可以在程序中定义一个pthread_create函数的弱引用,然后程序在运行时动态判断是否链接到pthread库从而决定执行多线程版本还是单线程版本:

    #include <stdio.h>
    #include <pthread.h>
    int pthread_create(
    pthread_t*,
    const pthread_attr_t*,
    void* (*)(void*),
    void*) __attribute__ ((weak));
    int main()
    {
    if(pthread_create) {
    printf("This is multi-thread version!/n");
    // run the multi-thread version
    // main_multi_thread()
    } else {
    printf("This is single-thread version!/n");   
    // run the single-thread version
    // main_single_thread()
    }
    }
    编译运行结果如下:
    $ gcc pthread.c -o pt
    $ ./pt
    This is single-thread version!
    $ gcc pthread.c -lpthread -o pt
    $ ./pt
    This is multi-thread version!

    展开全文
  • Moodlens: an emoticon-based sentiment analysis system for chinese tweets Moodlens:个基于表情符号的中文微博情感分析系统(A3, SIGKDD2012)文章建立了Moodlens的系统,是微博上第中文微博情感分析...

    Moodlens: an emoticon-based sentiment analysis system for chinese tweets Moodlens:一个基于表情符号的中文微博情感分析系统(A3, SIGKDD2012)

    文章建立了一个叫Moodlens的系统,是微博上第一中文微博情感分析系统。在Moodlens中,95个表情符号对应四个情感类:生气,厌恶,喜悦和悲伤,作为微博的类标签。收集了350万标记微博作为语料并且训练了一个快速朴素贝叶斯分类器。还实现了一个增量学习方法来处理情感转移和新词产生问题。通过使用高效朴素贝叶斯分类器,Moodlens能够进行实时在线情感监测
    Moodlens系统的主要贡献:帮助解决长期存在的短文本稀疏问题;检测四种类型的情感:生气,厌恶,喜悦和悲伤,而不是传统的二值情感分析;实现了一个增量学习机制;有能力进行实时微博处理和分类,可以作为一个实时异常事件监测系统。

    基于表情符号的方法

    在1000多个表情符号中,手工选择95个作为情感标签(记为E),划分它们为4个不同的情感类。
    从2010年12月到2011年2月,Moodlens收集了7000多万的微博,抽取包含E中表情符号的350万微博作为标记微博集并分类,记为T。这些微博可以作为初始情感语料。对于T中的每条微博,Moodlens转化其为词序列 {ωi} ωi 是一个词,i是它在t中的位置。
    在Moodlens中,采用简单的朴素贝叶斯方法建立分类器,需要少量的训练时间并且快速预测类别。从标签微博,获得单词 ωi 属于情感类别 cj 的先验概率 P(ωi|cj)=ncj(ωi)+1q(ncj(ωq)+1) j=1,2,3,4 ncj(ωi) 是词 ωi 在类 cj 中所有微博中出现的次数,使用拉普拉斯平滑来避免0概率问题。
    建立NB分类器:对于一个词序列为 {ωi} 的给定微博t,类别按如下获得, c(t)=arg maxjP(cj)ΠiP(ωi|cj) P(cj) cj 的先验概率。
    为了验证分类器的性能,标记微博随机划分为两个集合,包括训练集 Ttrain 和测试集 Ttest ,训练数据的比例 ft=|Ttrain||T| ,在 Ttrain 中,标记为 cj 的微博集记为 Tcjtrain ,相似的, Ttest 中类 cj 的微博记为 Tcjtest 。在测试集正确预测的类 cj 的微博记为 Pcj 。使用精度,召回率和F值作为度量描述分类器的有效性: p=4j=1|Pcj||Ttest| r=144j=1|Pcj||Tcjtest| 。文章使用一个标准词袋作为特征,设置 ft=0.9 P(cj)=0.25 ,得到一个朴素贝叶斯分类器。
    采用一个简单的增量学习方法补充原始NB分类器。假定微博是一个流,其中有一部分的微博是情感标记的,这些标记的微博可以用于更新词的先验概率。为了验证这个方法的有效性,随机搅乱T,划分它为50个相同尺寸的小块。用第一个小块作为训练集获得初始分类器,其他的49个小块,将它们当作微博流,这意味着它们一个一个地进入分类器,对于它们中的每个,以 μ 的比例随机选择为标记微博用于更新分类器。令μ=0,0.01,0.05,0.1,计算p,r,f指标。随着小块的增加,p,r,f增长。 μ 越大,更新越多,提升越多。

    应用

    • 数据收集
      从收集的2011前的大规模用户池,Moodlens随机选取6800个活跃用户,每个省或地区200个。活跃用户指那些真实但不是垃圾的用户。一个简单的过滤规则是,只选择有多于200个少于3000个关注者并且发表了少于3000条微博的用户。
    • 情感模式
      小时情感模式、星期情感模式、月份情感模式。分析用户的各种情感变化和峰值。
    • 异常事件检测
      直观地,真实世界中的异常事件将影响人们的情感,情感改变将通过人们发表的微博反映。检测方法的基本思想是找到情感变化的转折点,然后从微博抽取事件信息。MoodLens为情感cj定义了一个分数序列 {Scjt} ,t是观察时间,单位可能是一天或一小时。假定观察 t=t1 t=t2 的情感变化, cj 中微博的平均分数定义为: <Scjt1t2>=1t2t1t2t=t1Scjt <script type="math/tex" id="MathJax-Element-2791"> =\frac{1}{t_2-t_1}\sum_{t=t_1}^{t_2}S_t^{c_j}</script>,MoodLens可以获得 cj 相关变化的序列: Vcjt=Scjt<Scjt1t2><Scjt1t2> 。MoodLens定义情感变化的序列为 {4j=1|Vcjt|} 。这一序列递减排序,前k个选为异常时间点。对于每个时间点,MoodLens抽取当时发表的微博进行事件的信息抽取。

      • 实时情感监测
        带增量学习的NB分类器对于实时情感分析足够快速,通过微博提供的API,MoodLens每分钟可以获得最近发表的400条公开微博。这些微博可以在少于一分钟的时间内分析。可以设置收集微博的时间周期。
    展开全文
  • 符号扩展

    万次阅读 2019-09-03 23:20:55
    比如char(1字节)转换成int(4字节),多出来的3个字节到底填充什么? 规则如下: 当扩展个负数的时候需要将扩展的高位全赋为1.对于正数而言,符号扩展和零扩展是一样的,因为符号位就是0,即全填充0。 上面那句...
  • 符号与弱符号

    千次阅读 2013-11-25 14:24:04
    我们经常的编程中碰到种情况叫符号重复定义。多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候会出现符号重复定义的错误。     这种符号的定义可以被成为强符号。有些符号的定义可以被...
  • 11. 符号符号解析

    千次阅读 多人点赞 2018-12-04 21:35:00
    每个可重定位目标模块m都有符号表,它包含了在m中定义和引用的符号,有三种链接器符号: 类型 特征 举例 Global symbols(模块内部定义的全局符号) 由模块m定义并能被其他模块引用的符号。例如,非...
  • 符号

    千次阅读 2017-06-21 20:08:57
    符号解析也叫符号绑定。 函数名和已初始化的全局变量名都是强符号。 未初始化的全局变量名是弱符号 •尽量避免使用全局变量 • •一定需要用的话,就按以下规则使用 –尽量使用本地变量(static) –全局变量要...
  • 常用集合运算符号

    万次阅读 2017-08-02 07:29:13
    符号解释:两个或两个以上的集合的所有元素组成个新的集合,称为和集 ◆ 使用示例: 双目运算符 (1,2,3)&=1 2 3 1 3 4★ 符号名称:并集 [+] ◆ 符号解释:两个或两个以上集合并在一起并去除其中重复元素的...
  • 符号常量

    千次阅读 2017-03-13 16:43:06
    C语言可以用标识符定义个常量,称为符号常量。 #define 标识符 常量 例如: #define MAX 100 #define MIN 10 在程序中,某个标识符一旦被定义为符号常量,运行时候都会将该标识符替换成对应的常量。
  • 前置知识 补码的定义: 所谓补码,英语里又two's complement(对2求补),这个2...或者“暂时抛弃符号位”这说法,5位二进制数表示的数最多就是个 因此,[x]补 = ( + x) % %x <=> 模x 反码的...
  • Scala 的那些奇怪的符号

    万次阅读 多人点赞 2016-07-29 18:21:41
    Scala的语法很多,有些人认为过于繁琐,有些人却认为正是因为...:”,这是什么鬼?下面我就来探讨一下这两个符号的用法: “&lt;:”符号 我们定义个类:“Earth” class Earth { def sound(){ ...
  • C语言中的强符号与弱符号

    万次阅读 多人点赞 2012-09-22 23:31:02
    、概述 在C语言中,函数和初始化的全局变量(包括显示初始化为0)是强符号,未初始化的全局变量是弱符号。 对于它们,下列三条规则使用: ① 同名的强符号只能有个,否则...我们经常在编程中碰到种情况...
  • 【张量分解()】符号与基础知识

    千次阅读 多人点赞 2020-03-18 17:07:05
    、介绍 物理或工程中的张量,在数学中通常称为张量场。本文所涉及到的张量是指多维数组,或者说是多维向量空间中的元素。 一阶张量称为向量,二阶张量称为矩阵,三阶或者更高阶张量则称为高阶张量或者直接称为张量...
  • 本文提纲絜领的介绍了符号执行,让大家明白这个技术的主要作用和面临的挑战,领大家入坑。
  • JVM的符号引用和直接引用是什么

    千次阅读 多人点赞 2019-07-08 22:58:49
    符号引用就是个类中(当然不仅是类,还包括类的其他部分,比如方法,字段等),引入了其他的类,可是JVM并不知道引入的其他类在哪里,所以就用唯一符号来代替,等到类加载器去解析的时候,就把符号引用找到那个...
  • 什么符号链接跨操作系统?

    千次阅读 2014-07-03 20:06:04
    【本想简单说明一下为什么符号链接可以跨文件系统,但是写到最会发现自己跑题了,重点内容没有深入分析,而且好多的概念弄得还比较复杂。嗨,暂时只能写到这个程度,以后再慢慢精炼。希望不会误导大家!】
  • 符号与强符号(弱引用与强引用)

    千次阅读 2018-10-06 17:19:16
     我们经常在编程中碰到种情况叫符号重复定义。多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候将会出现符号重复定义的错误。这种符号的定义可以被称为 强符号(Strong Symbol)。有些符号...
  • 本篇文章,我们来探讨一下访问量足足有 87+ 万次的问题——什么是“找不到符号”,它是什么意思,它是如何发生的,以及如何修复它。 额外多 BB 几句。坚持写作这些年来,真的成长特别快,我建议你也行...
  • GCC中的弱符号与强符号

    千次阅读 2017-02-09 17:45:38
    我们经常在编程中碰到种情况叫符号重复定义。多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候将会出现符号重复定义的错误。比如我们在目标文件A和目标文件B都定义了个全局整形变量global...
  • 什么是linux下的符号链接文件

    千次阅读 2015-06-17 10:32:17
    链接有两种,种被称为硬链接(Hard Link),另种被称为符号链接(Symbolic Link,也叫做软链接)。默认情况下,ln命令产生硬链接。 ()硬链接 1.产生硬链接的语法 # ln 源文件 目标文件 (注意:不能为...
  • Linux动态库()之同名符号

    千次阅读 2014-01-14 14:49:27
    问:有个主执行程序main,其中实现了函数foo(),同时调用动态库liba.so中的函数bar(),而动态库liba.so中也实现了foo()函数,那么在执行的时候如果在bar()中调用foo()会调用到哪个?在main()中调用呢?  直接...
  • 符号类型和无符号类型

    千次阅读 2018-08-20 17:11:45
    负数在计算机中如何表示呢? 1、是否需要有正负。 如果这个量不会有负值,那么我们可以使用...(第位为最高位) 单字节数: 1111 1111 双字节数: 1111 1111 1111 1111 四字节数: 1111 1111 1111 1111 1111 11...
  • Verilog 有符号数 signed

    千次阅读 2019-10-03 18:57:24
    //定义了个reg型有符号8位变量 adder 在Verilog中,数据是以补码形式存储的,正数补码还是本身,负数补码是除符号位取反加一。例如: 上边定义的adder赋值为-3,则-3的二进制为1000 0011,这个原码,...
  • Python 符号运算

    千次阅读 2020-12-12 14:57:53
    背景介绍: Sugar 起初在 MultiMCU EDU 上写的都是有飞控、嵌入式操作系统、控制算法类的推文。 最近推的 Matlab 和 Python 似乎与 MCU...本篇 Sugar 就来说说 Python 中的符号运算。 sympy 、安装 sympy 模块 Su.
  • 符号符号表 Global symbols(模块内部定义的全局符号) – 由模块m定义并能被其他模块引用的符号。 例如,非static函数和非static的全局变量(指不带static的全局变量) 如,main.c 中的全局变量名buf ...
  • 大家都知道,从C/C++源程序到可执行文件要经历两个阶段:(1)编译器将源文件编译成汇编代码,然后由汇编器 (assembler)翻译成机器指令(再加上其它相关信息)后输出到个个目标文件(object file,VC的编译器编译出的目标...
  • 指针符号*和取址符号&

    千次阅读 多人点赞 2018-10-28 17:48:19
    符号一直理解的比较浅显。只知道:  *p好像表示的是个指针;  &amp;p表示的是个地址。  然而这次当遇到了下面这个情况的时候:  int a = 10;  int *b = &amp;a; printf(“%d\n”, a);  printf...
  • 大O,渐进表示法,接...学习算法我经常听到这个词汇,我开始很难理解,什么鬼?其实简单的说,就是描述个算法的好坏词。 大O,可以认为它的含义是“order of”(大约是)。 简单列举几个,当人们形容:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 236,373
精华内容 94,549
关键字:

一叫什么符号