不同语言操作符的优先级

看到标题,可能会心生疑惑: 这么基础且重要的操作,不同语言不应该是一致的吗?

并不一定,比如对于右移运算和加法运算,Go就与其他多数语言表现得不一致:


Go:

package main

import "fmt"

func main() {
    fmt.Println(1+2>>1// 2
}
alt

Java:

import java.io.*;
class test  
{
 public static void main (String[] args) throws java.lang.Exception
 
{
  System.out.println(1+2>>1); // 1
 }
}

alt

C/C++:

#include <stdio.h>

int main(void) 

    int a = 1+2>>1;
 printf("%d\n",a); // 1
 return 0;
}
alt

nodejs:

console.log(1+2>>1); // 1
alt

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 202021:45:12)  [GCC 8.3.0]

alt

php:

<?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
?>
alt

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值