概述
C在以下四种情况下会进行隐式转换:
1、算术运算式中,低类型能够转换为高类型。
2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。
3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。
4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。
#include <stdio.h>
int main()
{
/* Write C code in this online editor and run it. */
printf("Hello, World! n");
int b = -9;
unsigned int a = 8;
printf("%dn",a+b);
printf("%un",a+b);
if((a+b) > 0)
{
printf("1");
}
else
{
printf("2");
}
return 0;
}
输出结果///
Hello, World!
-1
4294967295
1
//
%d 十进制有符号整数。 %u 十进制无符号整数
负数在计算机中以补码的方式存储,
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
最后
以上就是魁梧蚂蚁为你收集整理的unsigned与signed运算的全部内容,希望文章能够帮你解决unsigned与signed运算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复