第一种方式(支持小数)
<?php
function f($num){
if($num>0){
$num=$num*(-1);
}
return $num;
}
echo f(100);
//输出:-100
?>
第二种方式(不支持小数)
<?php
header("Content-type:text/html;charset=utf-8");
function f($num){
return ~$num + 1;
}
echo f(200);
//输出:-200
?>
正数取反加一后,得到就是负数的补码,负数是以补码的形式存在内存中,补码转为原码是就是正数要转化后对应的负数负数取反加一后,得到一个补码,但正数的补码原码一样
注意:取反和取反码是不同的两个概念,运算时都是补码形式参与运算,因为有负数参与
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!