想要询问一个很基础的问题,在给实型变量赋初值的时候,为什么后面要加一个 “ f ”呢?
比如:
float f=1.5f;
以及有符号长整型和无符号长整型后面都有“ L ”,比如:
unsigned long iUnsignedLongNum;
iUnsignedLongNum=6666666L;
感谢回答[rose]!
想要询问一个很基础的问题,在给实型变量赋初值的时候,为什么后面要加一个 “ f ”呢?
比如:
float f=1.5f;
以及有符号长整型和无符号长整型后面都有“ L ”,比如:
unsigned long iUnsignedLongNum;
iUnsignedLongNum=6666666L;
感谢回答[rose]!
给编译器看的,人并不需要特别计较
因为编译器需要规则,就像楼上很多人说的,编译器默认认为是double,那么默认规则会有一些意外(比如就本来就是想要单精度浮点的运算 2/1),所以特别定义一个规则告诉编译器是你指定的类型
比较一下编译器的规则推论(当然个人说:人不必计较,这是给机器看的,只是有时候出于某些特殊目的,我需要强制约定一下,避免默认计算规则不符合需求)
var m = 2 / 1; ------------啥都不加,他是int
var i = 2 / 1.0;-------------有1.0了,默认是double
var j = 2 / 1.0f;----------------出于某些特殊需要,我只需要单精度浮点