数据类型

原创 2017年01月03日 14:53:44

1、超出范围

main()
{
unsigned short a=65536 ;
int b ;
printf(""%d\n"",b=a) ;
}"
答案;0

unsigned short类型最大值为0xffff,也就是十进制的65535。再加1的话(65536)就溢出变成0了。这时a已经是0了,赋给b后再打印b,值自然也为0。



2、不同数据类型的转换

(1)浮点型和整型

18/5=3.6,因为浮点类型到int类型要向零取整,结果为3.

(2)字符型和整型
  • p[i][j]-'0' 在C语言的作用是把char行数字转化为int型,所以直接使用6,3,8,5运算,而不是其对应的ASC码值。同理,如果p[i][j]是int型,可以使用p[i][j]+'0'将int型转化为char型。

3、双精度浮点型double

  • 使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:-1.7* 10的308次方 到 +1.7* 10的308次方
(1)无法实现整数的按位与、或、异或运算
(2)

4、枚举类型


  • 如果是函数外定义那么是0
    如果是函数内定义,那么是随机值,因为没有初始化 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)