---------------
main.m
---------------
#import
<Foundation/Foundation.h>
int main()
{
int a = 6;
float
f = a;
// int自动转换为float类型
NSLog
(
@"%g"
, f);
// f实际为6.0,但%g输出最简形式所以会输出6
short
b =
65
;
// 定义一个short类型的整数变量
char
c = b;
// short自动转型为char
NSLog(@"%c" , c);
// 65转化为字符,正好是字母
A。
double
d = b;
// short型变量可以自动转型为double型
NSLog
(
@"%g"
, d);
// d实际为65.0,但%g输出最简形式所以会输出65
double d2 = 97.433;
// 将double型值变量赋值给int型变量,直接舍弃小数部分
int
it = d2;
NSLog
(
@"%d"
, it);
// 将doule型值变量赋值给char型变量,直接舍弃小数部分
// ch
将等于
97
对应的字符,也就是小写字母
a
char ch = d2;
// 下面将输出a
NSLog
(
@"%c"
, ch);
// 因为97转化为字符,正好是字母a。
int iValue = 33000;
// 把一个int类型的值转换为short类型的值
short
sValue = iValue;
NSLog
(
@"%d"
, sValue);
//输出结果为-32536 【溢出】。
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.把整型或字符型的变量值赋值给浮点型变量,不会有太大变化。
2.把浮点型变量值赋值给整型(包括字符型)变量,数值的小数部分会被直接舍弃。
3.当把取值范围大的变量的值赋值给取值范围小的变量的时候,可能发生溢出。
在上面的示例代码中,
iValue取值范围大,
sValue取值范围小,所以导致了最后的数据丢失。