float n=0_1_2_3;值中的下划线是什么?
如float n=0_1_2_3;
这样子输出的是n为83.0
请问像long float double 这样类型变量的值中的下划线是什么意思?
如float n=0_1_2_3;
这样子输出的是n为83.0
请问像long float double 这样类型变量的值中的下划线是什么意思?
2015-02-26
在语法上,你这么写是可以过的,但是一般不推荐这么写。
这种写法,如果所赋值不是以0开头的话,那么和正常写的是一样的,比如 float n = 1_2_3_4;所输出结果n = 1234.0
如果所赋值是以0开头的话,并且只有两个数时,所得结果是0后的值,比如 float n = 0_1;所得结果为n = 1.0
如果所赋值是以0开头,并且有多位数字的话,那么所得结果为0后第一个数字乘以8之后,加后一位,然后所得结果继续乘以8加后一位,一次类推,直到最后一个数为止,比如 float n = 0_1_2_3_4;所运行结果为n = 668.0。其中运行过程为:
0_1=1.0
0_1_2 = 1.0*8+2 = 10.0
0_1_2_3 = (1.0*8+2)*8+3 = 83.0
0_1_2_3 = ((1.0*8+2)*8+3)*8+4 = 668.0
举报