在C语言中,正负数的表示主要依赖于整数类型变量的有符号和无符号属性。
创新互联成立以来不断整合自身及行业资源、不断突破观念以使企业策略得到完善和成熟,建立了一套“以技术为基点,以客户需求中心、市场为导向”的快速反应体系。对公司的主营项目,如中高端企业网站企划 / 设计、行业 / 企业门户设计推广、行业门户平台运营、app软件开发公司、移动网站建设、微信网站制作、软件开发、遂宁托管服务器等实行标准化操作,让客户可以直观的预知到从创新互联可以获得的服务效果。
1. 有符号整数类型
有符号整数类型包括int
, long
, short
, char
等,这些类型的变量可以存储正数、负数以及零。
1.1 正数
在有符号整数类型中,正数的表示方式与我们在数学中使用的十进制表示方式相同,如果我们有一个int
类型的变量a
,我们可以将值5赋值给它:
int a = 5;
1.2 负数
负数在计算机中的表示方式是使用二进制补码,补码是一种可以让加法和减法操作统一的二进制表示方法,对于一个n位的二进制数,其补码是由原码(即我们通常理解的二进制表示)取反(0变为1,1变为0)后加1得到的。
5在8位二进制中的表示为:
原码:00000101(这是+5的原码表示)
反码:11111010(取反)
补码:11111011(加1)
5在计算机中以补码形式存储。
2. 无符号整数类型
无符号整数类型包括unsigned int
, unsigned long
, unsigned short
等,这些类型的变量只能存储非负数(即正数和零)。
2.1 正数
无符号整数类型的正数表示方式与有符号整数类型的正数表示方式相同,只是它们不能表示负数,如果我们有一个unsigned int
类型的变量b
,我们可以将值5赋值给它:
unsigned int b = 5;
2.2 负数
由于无符号整数类型不能存储负数,所以在试图给一个无符号整数类型的变量赋一个负值时,会发生所谓的“下溢”现象,即该值会被转换为一个非常大的正数,这个转换过程也是基于二进制补码的,但是结果被解释为一个正数。
如果我们尝试将5赋值给一个unsigned int
类型的变量c
:
unsigned int c = 5;
实际上,c
的值将会是一个非常大的正数,具体取决于系统的位数,在32位系统中,c
的值将会是4294967291(即2^32 5)。
文章名称:c语言中正负怎么表示什么
当前地址:http://www.shufengxianlan.com/qtweb/news20/515020.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联