任何人都可以用简单的方式解释下面的代码:
public unsafe static float sample(){
int result = 154 + (153 << 8) + (25 << 16) + (64 << 24);
return *(float*)(&result); //don't know what for... please explain
}
Run Code Online (Sandbox Code Playgroud)
注意:上面的代码使用不安全的功能
对于上面的代码,我很难过,因为我不明白它的返回值与下面的返回值之间的区别是什么:
return (float)(result);
Run Code Online (Sandbox Code Playgroud)
如果你回来了,是否有必要使用不安全的功能*(float*)(&result)
?
我见过一个将整数转换为字节数组的代码.下面是关于如何在php 3中将整数转换为字节数组的代码(如何在php中将整数转换为字节数组):
<?php
$i = 123456;
$ar = unpack("C*", pack("L", $i));
print_r($ar);
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码将输出:
//output:
Array
(
[1] => 64
[2] => 226
[3] => 1
[4] => 0
)
Run Code Online (Sandbox Code Playgroud)
但我现在的问题是如何扭转这一过程.意味着从字节数组转换为整数.在上面的例子中,输出将是123456
任何人都可以帮助我.我会帮助很大.谢谢你.