c语言类型转换有哪些,C语言类型转换

  c语言类型转换有哪些,C语言类型转换

  1.自动转换,例如:1 2 //字符2到50

  2.隐式转换如:int a;char b=a;

  3.强制转换,例如:char a=(int)2

  一:自动转换当操作不同类型的数据时,要先转换成相同的数据类型,再进行操作。转换规则是从低级到高级。转换规则如下图所示:

  二:隐式转换

  (1)相同数据类型之间的转换

  1.有符号数据类型——3354“无符号数据类型”

  short int n=-1;

  无符号短整型m=n;

  -1的二进制数是[10000000 000001]

  -1的倒数是[11111111111111110]

  -1的补码是[11111111 11111]

  规则:M是一个无符号数,所以可以不经转换直接使用,即M=(2 ^ 16)-1=65535(因为正数的补码=原码)

  2.无符号数据类型33543354“有符号数据类型”

  无符号字符n=-1;

  char m=n;

  -1的二进制数是[1000 0001]

  -1的倒数是[1111 1110]

  -1的补码是[1111 1111]

  规则:M是有符号数,所以要转换,取最高位作为符号位,然后把后面的位反过来加一。

  倒数:[1000 0000]

  添加:[1000 0001]

  结果:m=-1

  进行上述类型转换的规则:

  不考虑原始数据类型,先将值转换为位补码(正补码=原码负补码=原码逆1),将补码相加得到A,然后对补码进行运算:如果是无符号数,则结果为A,如果是有符号数,则结果为A逆加1。

  (2)不同数据类型之间的转换

  1.无符号短长度数据类型33543354“无符号/有符号长长度数据类型”

  无符号字符n=-1;

  short int m=n;

  -1的二进制数是[1000 0001]

  -1的倒数是[1111 1110]

  -1的补码是[1111 1111]

  规则:下半部分不变,上半部分用0完成。

  完成:[0000 0000 1111 1111]

  结果:m=255

  2.有符号短长度数据类型33543354“无/有符号长长度数据类型”

  char n=-1;

  无符号短整型m=n;

  -1的二进制数是[1000 0001]

  -1的倒数是[1111 1110]

  -1的补码是[1111 1111]

  规则:下半部分不变,上半部分由符号位[xxxxxxxx x 1111111]完成

  完成:[1111 1111 1111 1111 1111]

  结果:m=65535

  3.长长度数据类型——3354 "短长度数据类型

  int n=-1;

  char m=n;

  -1的二进制数是[10000000 000001]

  -1的倒数是[11111111111111110]

  -1的补码是[11111111 11111]

  规则:直接切下半部分。

  拦截:[1111 1111]

  倒数:[1000 0000]

  添加:[1000 0001]

  结果:m=-1

  示例代码:

  int n=-1;

  无符号字符I=n;

  char j=n;

  printf(%d %d\n ,I,j);

  //输出:255 -13。关于强制的问题没什么好说的。大家应该都知道吧。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: