美文网首页程序员
c中常用算术转换

c中常用算术转换

作者: 这是个方块 | 来源:发表于2016-04-19 21:06 被阅读0次

char c;

short int s;

int i;

unsigned int u;

long int l;

unsigned long int ul;

float f;

double d;

long double ld;

i = i+c;  /* c is converted to int*/

i = i+s; /*s is converted to int*/

u = u+i;  /*i is converted to unsigned int*/

l = l+u;   /*u is converted to long int l*/

ul = ul+l;  /*l is converted to unsigned long int ul*/

f = f+ul;    /*ul is converted to float f*/

d = d+f;    /*f is converted to double d*/

ld = ld+d;   /*d is converted to long double ld*/

c语言会遵循另一条简单的转换规则,那就是把赋值运算右边的表达式转换成左边变量的类型。如:

char c;

int i;

float f;

double d;

i = c;   /*c is converted to int*/

f = i;    /*i is converted to float*/

d = f;    /*f is converted to double*/

把浮点数赋值给整型变量会丢掉改数的小数部分:

int i;

i = 842.97;   /*i is now 842*/

i = -842.97;   /*i is now -842*/

如果某值在变量类型范围之外,那么将得到无意义的结果。

c = 10000;   /*WRONG*/

i = 1.0e20;   /*WRONG*/

f = 1.0e100;   /*WRONG*/

如果浮点常量被赋值给float型变量时,一个很好的方法是在浮点常量尾部加上后缀f。如:

f = 3.14159f;

如果没有后缀,常量3.14159将是double类型,可能引起警告消息。

为了定义转换规则,C99允许每个整数类型具有“整数转换等级”。下面按从最高级到最低级的顺序排列。

(1)long long int , unsigned long long int

(2)long int , unsigned long int 

(3)int , unsigned int

(4)short int , unsigned short int

(5)char , signed char , unsigned char

(6)_Bool

C99用整数提升取代了C89中的整值提升,可以将任何等级低于int和unsigned int 的类型转换为int(只要该类型的所有值都可以用int类型表示),或unsigned int。

相关文章

  • c中常用算术转换

    char c; short int s; int i; unsigned int u; long int l; u...

  • 2018-12-27幸运抽奖

    幸运抽奖 一、 总结 (1) . C#中运算符有算术运算符、关系运算符和逻辑运算符等 (2) . C#中的类型转换...

  • Linux Day23:let

    shell中如何进行算术运算: let 算术运算表达式:let C=$A+$B $ [ 算术运算表达式]:C=$[...

  • C#基础之006 常用运算符 2

    在上一节C#基础之005 常用运算符 1中我们讲解了运算符中的赋值运算、算术运算以及复合算术运算,那么这一节我们继...

  • 【第十章】综合训练-幸运抽奖

    一、 总结 (1) . C#中运算符有算术运算符、关系运算符和逻辑运算符等(2) . C#中的类型转换分自动类型转...

  • C++类型转换

    隐式类型转换: C++的隐式转换发生在以下四种情况: 在混合类型的算术表达式中。 在表达式赋值中。 表达式传给函数...

  • Objective-c常用的函数,常数变量

    介绍一下Objective-c常用的函数,常数变量 算术函数 【算术函数】 函数名说明 int rand()随机数...

  • Bash脚本编程之算术表达式

    算术符号 Bash shell 脚本编程中的算术表达式所常用的算术运算符号包括:+,-,* ,/,%,**。其使用...

  • 2019-06-24

    c++常用转换 0~9char与int间的转换

  • 无标题文章

    介绍一下Objective-c常用的函数,常数变量算术函数【算术函数】 函数名说明 int rand()随机数生成...

网友评论

    本文标题:c中常用算术转换

    本文链接:https://www.haomeiwen.com/subject/qkuihttx.html