无符号数

✍ dations ◷ 2025-07-20 16:22:47 #计算机编程,计算机算术,程式设计小作品,数据类型

无符号数(unsigned)是计算机编程中的一种数值资料型别。有符号数(signed)可以表示特定类型规定范围内的整数(包括负数),而无符号数只能表示非负数(0及正数)。

有符号数能够表示负数的代价是能够表示的正数范围的缩小,因为其约一半的数值范围要用来表示负数(如8位有符号整数中,对应8位无符号整数表示128~255的部分被用于表示-127~-1)。无符号数可以利用其所占有的所有位来表示较大的数。

例如,16位有符号整数可表示-32768~32767之间的任意整数,而16位无符号整数可表示0~65535之间的数。若将有符号数转换为二进制,则其数值类型允许的最左一位用于表示符号(1为负数,0为正数和0),但在无符号数中,最左一位与其右各位一样用于表示数值。

大多数架构的机器语言不区分有符号数及无符号数。然而算术指令通常设定进位标志等CPU标志,为无符号算术及溢出标志设定。这些标志能够被带入随后的分支及算术指令中。

C语言及大部分C的派生语言为其所有有符号数类型及char类型提供了对应的无符号类型。在这些语言中,若存在显式的unsigned标识符,则将此数标识为无符号,否则为有符号(char类型除外),对应地存在signed标识符用于标识有符号数。为数值添加U后缀也可将此数值标识为无符号数。例如,在32位数中,0xFFFFFFFF表示-1,但0xFFFFFFFFU表示4294967295。

编译器在遇到有符号数与无符号数间的比较、算术等操作时常会发出警告,因为可能因其范围不同而导致溢出。C/C++语言规定无符号整数运算不存在溢出,如果结果超出了无符号类型能表示的最大数,则做模运算取余数。例如,对于uint32的 2-3, 其结果对0x10000模运算取余数,最终结果为0xFFFF。

相关

  • 福利中华人民共和国的社会福利在历史上经历过各种变化。中华人民共和国人力资源和社会保障部是负责中华人民共和国社会福利的部门。在80年代中国改革开放之前,中国的社会主义满足
  • 长春碱硫酸长春碱(化学式:C46H60N4O13S)常温下是白色固体,可用作抗肿瘤药,用于治疗何杰金氏病和绒毛膜上皮癌,对淋巴肉瘤、急性白血病、乳腺癌等也有一定疗效。与微管黏合,抑制微管合成作
  • 节约能源可持续发展主题可再生能源主题环境主题节约能源(简称节能)是指以减少能源消耗的方式,保护资源,减少对环境的污染。节能可以通过提高能源使用效率,减少能源消耗,或降低传统能源的消
  • 归正神学加尔文主义(法语、荷兰语:Calvinisme;英语:Calvinism),亦称为归正主义,是16世纪法国与瑞士基督新教宗教改革家约翰·加尔文毕生之主张,以及支持加尔文的其他神学家意见的统称,在不同
  • 原台南武德殿原台南武德殿,全名为大日本武德会台南支部武德殿,是日治时期大日本武德会为推广武道所建的道馆,位于台南市中西区,为台南市定古迹,现在则作为台南市忠义国小的礼堂。原台南武德殿
  • 全国计划工作会议1970年全国计划工作会议,是指1970年2月15日至3月21日期间,中华人民共和国国务院召开的全国计划工作会议。会议旨在制定1970年的国民经济计划,并着手研究第四个五年计划纲要(草案
  • 破窗效应破窗理论是一种犯罪学理论,破窗效应(英语:Broken windows theory)是犯罪心理学理论,由詹姆士·威尔逊及乔治·凯林(英语:George L. Kelling)提出,刊载于《The Atlantic Monthly》1982
  • 叶赫那拉氏叶赫那拉氏(满语:ᠶᡝᡥᡝ ᠨᠠᡵᠠ ᡥᠠᠯᠠ,转写:)是满洲著姓那拉氏的主要分支之一,为海西女真叶赫贝勒的家族姓氏,其始祖为蒙古人星根达尔汉(满语:ᠰᡳᠩᡤᡝᠨ ᡩᠠᡵᡥᠠᠨ,穆麟
  • 2010年俄罗斯人口普查2010年俄罗斯人口普查(俄语:Всеросси́йская пе́репись населе́ния 2010 го́да)是苏联解体后俄罗斯联邦的第二次人口普查。联邦国家统计
  • 回回文回语、回文、回回语、回回文可以指: