看到标题,可能会心生疑惑: 这么基础且重要的操作,不同语言不应该是一致的吗?
并不一定,比如对于右移运算和加法运算,Go就与其他多数语言表现得不一致:
Go:
package main
import "fmt"
func main() {
fmt.Println(1+2>>1) // 2
}
Java:
import java.io.*;
class test
{
public static void main (String[] args) throws java.lang.Exception
{
System.out.println(1+2>>1); // 1
}
}
C/C++:
#include <stdio.h>
int main(void) {
int a = 1+2>>1;
printf("%d\n",a); // 1
return 0;
}
nodejs:
console.log(1+2>>1); // 1
python:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
if True :
aaa=1+2>>1
print(aaa) // 1
print(sys.version) //3.8.6 (default, Sep 24 2020, 21:45:12) [GCC 8.3.0]
php:文章来源:https://www.toymoban.com/news/detail-623655.html
<?php
$aa=1+2>>1;
echo 'hello '.'1+2>>1运算结果为:'.$aa."\n"; // hello 1+2>>1运算结果为:1
echo date('Y-m-d H:i:s',time())."\n"; // 20xx-08-28 14:33:23
echo "PHP版本:".phpversion(); // PHP版本:7.4.10
?>
本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-623655.html
到了这里,关于不同语言操作符的优先级的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!