signed和unsigned关键字的使用

简介: signed和unsigned关键字的使用

各位少年:


我们今天来分享signed和unsigned关键字,分别为有符号的和无符号的


C语言使用signed和unsigned关键字修饰字符型和整数类型的。


signed关键字,表示一个类型带有正负号,包含负值;


unsigned关键字,表示该类型不带有正负号,只能表示零和正整数。


对于int类型,默认为带有正负号的,也就是说int等同于signed int。


简单点来说(unsigned就是无符号的,只能表示正整数,signed是有符号的表示有符号的整数(编译器默认为是这个))

#include<stdio.h>
int main()
{
unsigned int num=20;//只能表示正整数,负数没法表示
return 0;
}


我们都知道计算机是由二进制转换的,一个字节就是八个比特位(2进制是0和1)那么一个是四个比特位,

最高位是正数是0开头负数是1,那么很显然unsigned无符号的最高位肯定是0,有符号的signed带判定。

我们再来看一段有趣的代码

#include<stdio.h>
int main()
{
int age;
printf("%d",age);
return 0;
}

这里的age没初始化会出现一个东西叫做值随机,但是VS对代码要求特别高,这样的代码是编译不过去的。

#include
int ch;
int main()
{
printf(“%d\n”,ch)
return 0;
}


全局变量没初始化是0,这个我已经验证过了。


下面是全局变量和局部变量的定义


全局变量:在大括号外部定义的变量就是全局变量,全局变量的使用和范围更广,整个程序中使用,都是有办法使用的。


局部变量:在大括号内部定义变量和就是局部变量,局部变量的使用范围是比较局限,只能在自己所在的局部范围内使用的。


相关文章
|
7天前
|
编译器 C++
C++_int负数转unsigned
C++_int负数转unsigned
14 0
|
5月前
signed和unsigned
signed和unsigned
|
10月前
|
编译器
unsigned long int 和 unsigned long一样吗?
unsigned 代表的是无符号的整形数
148 0
|
8月前
|
存储 C语言
C语言:char与unsigned char类型数据的范围
unsigned char 的范围是 0~255,当 i=255 时,i++变为0,从0到255无限循环,因此程序运行结果为死循环
148 0
|
9月前
|
存储 C语言
char&short的整形提升
char&short的整形提升
48 0
|
10月前
代码熟悉整型提升与unsigned signed
代码熟悉整型提升与unsigned signed
48 0
|
11月前
|
存储 编译器 C语言
unsigned 无符号是什么?
unsigned 无符号是什么? 数据是如何储存的 什么叫无符号
59 0
|
11月前
|
存储 编译器 C语言
C语言中unsigned int a=-10,这种写法是否正确?
C语言中unsigned int a=-10,这种写法是否正确?
|
12月前
|
存储 C语言
C语言-------数据类型中signed、unsigned他们在不同数据类型中存储的不同体现并且与printf关系的总结。
C语言-------数据类型中signed、unsigned他们在不同数据类型中存储的不同体现并且与printf关系的总结。
char、signed char和unsigned char
char、signed char和unsigned char
217 0