C语言中x*x到底是什么意思?和x<<1有什么区别? 刚学C语言的人常把x*x简单看作数学里的平方,其实它在代码里是两次读取变量x再做乘法,编译器不一定会优化成位移。若x是浮点型,x*x与左移完全不等价;即便是整型,也只有x为2的幂时x<<1才近似x*2。本文从运算符优先级、类型提升和汇编层面说明x*x的真实含义,并对比位移写法在可读... 栏目:C#/.NET 时间:08-02 C语言 xx 位移运算