C语言中用unsigned的作用,C语言中unsigned和signed在声明时有什么做用

一、unsigned的做用就是将数字类型无符号化, 例如 int 型的范围:-2^31 ~ 2^31 - 1,而unsigned int的范围:0 ~ 2^32。看起来unsigned 是个不错的类型,尤为是用在自增或者没有负数的状况。可是在实际使用中会出现一些意外的状况。3d

二、signed在默认状况下声明的整型变量都是有符号的类型(char有点特别),若是需声明无符号类型的话就须要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据。blog

93f2d798440a71f2f428c1de06ad9300.png

扩展资料:class

unsigned和signed的区别变量

一、全部比int型小的数据类型(包括char,signed char,unsigned char,short,signed short,unsigned short)转换为int型。若是转换后的数据会超出int型所能表示的范围的话,则转换为unsigned int型扩展

二、bool型转化为int型时,false转化为0,true转换为1;反过来全部的整数类型转化为bool时,0转化为false,其它非零值都转为true数据类型

三、若是表达式中混有unsigned short和int型时,若是int型数据能够表示全部的unsigned short型的话,则将unsigned short类型的数据转换为int型,不然,unsigned short类型及int型都转换为unsigned int类型im

举个例子,在32位机上int是32位,范围–2,147,483,648 to 2,147,483,647,unsigned short是16位,范围0 to 65,535,这样int型的足够表示unsigned short类型的数据,所以在混有这二者的运算中,unsigned short类型数据被转换为int型数据

四、unsigned int 与long类型的转换规律同3,在32位机上,unsigned int是32位,范围0 to 4,294,967,295,long是32位,范围–2,147,483,648 to 2,147,483,647,可见long类型不够表示全部的unsigned int型,所以在混有unsigned int及long的表达式中,二者都被转换为unsigned longimg

五、若是表达式中既有int 又有unsigned int,则全部的int数据都被转化为unsigned int类型co

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值