类型转换是的数据丢失问题
2013-03-13 20:45
323 查看
当把较长的整数转化为较短的整数或是char类型时,超出的高位部分将被丢弃。
程序一:
[cpp][/b] view plaincopy
#include <stdio.h>
int main()
{
int i;
char c;
i=65535;
c=48;
i=c;
c=i;
printf("char=%c\n",c);
printf("int=%d",i);
getchar();
}
输出为:
程序二:
[cpp][/b] view plaincopy
#include <stdio.h>
int main()
{
int i;
char c;
i=65535;
c=48;
c=i;
i=c;
printf("char=%c\n",c);
printf("int=%d",i);
getchar();
}
输出为:
因为c=-1,所以字符不可见
当较低类型的数据转换为较高类型时,一般只是形式上有所改变, 而不影响数据的实质内容, 而较高类型的数据转换为较低类型时则可能有些数据丢失。本文出自 “驿落黄昏” 博客,请务必保留此出处http://yiluohuanghun.blog.51cto.com/3407300/1153598
程序一:
[cpp][/b] view plaincopy
#include <stdio.h>
int main()
{
int i;
char c;
i=65535;
c=48;
i=c;
c=i;
printf("char=%c\n",c);
printf("int=%d",i);
getchar();
}
输出为:
程序二:
[cpp][/b] view plaincopy
#include <stdio.h>
int main()
{
int i;
char c;
i=65535;
c=48;
c=i;
i=c;
printf("char=%c\n",c);
printf("int=%d",i);
getchar();
}
输出为:
因为c=-1,所以字符不可见
当较低类型的数据转换为较高类型时,一般只是形式上有所改变, 而不影响数据的实质内容, 而较高类型的数据转换为较低类型时则可能有些数据丢失。本文出自 “驿落黄昏” 博客,请务必保留此出处http://yiluohuanghun.blog.51cto.com/3407300/1153598
相关文章推荐
- 关于java中long类型的数据转换json传到前台时丢失精度问题的解决办法
- C语言中类型转换时的数据丢失问题
- 关于int型整数按逆序存入数组中的问题(也即十进制数和其他类型数据的转换问题)
- 类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们的问题的解决方法
- Object.ToString函数在转换日期类型数据时的精度问题
- 黑马程序员——io流中数据类型转换问题
- 简单问题(1)---数据类型转换的潜规则
- 关于数据序列化(5),定制FastJSON序列化(解决Java大Long类型js的Number接收丢失数据的问题,不序列化某些属性)
- [Java]nio( 4000 二)——转换数据(编码问题)和获取基本数据类型
- void相关的无类型变量在使用时必须强制数据类型转换问题。
- 《对“XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们》的问题的解决方法
- C# winform关于datagridview中的列的数据类型转换问题
- nvelocity模版数据类型自动转换的问题
- Oracle自定义函数解决数据类型转换出错的问题
- 10_基本数据类型自动转换_强制转型_类型提升问题
- Robot Frame里的数据类型转换问题
- 关于基本数据类型转换的一个小问题
- java:关于short s1=1;s1=s1+1;short s1=1;s1+=1;short s3=s1+s2;中存在的简单数据类型转换问题的理解
- jni中数据类型的转换问题
- 解决Java中Long类型转换成Json时,在Js代码调用时精度丢失的问题