文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
数字运算符
对于两个整数 x 和 y。整数商 q=x/y
和余数 r=x%y
遵循以下规律。
x = q*y + r and |r| < |y|
x/y
截断为 0。
x y x / y x % y
5 3 1 2
-5 3 -1 -2
5 -3 -1 2
-5 -3 1 -2
作为这个规则的例外情况,如果 x 非常大,那么 q=x/-1
等于 x。
x, q
int8 -128
int16 -32768
int32 -2147483648
int64 -9223372036854775808
如果除数是一个常量。那么它不能是 0,如果除数在运行时为 0,会导致运行时恐慌。如果除数是负数并且除数是:
x x / 4 x % 4 x >> 2 x & 3
11 2 3 2 3
-11 -2 -3 -3 1
位移运算符移动左侧运算元右侧元算元指定的位数。如果左侧是有符号整型,那它就实现了位移运算,如果是无符号整数使用逻辑位移。位移运算没有上限,位移操作让左边运算元位移 n 个 1。 x<<1
和 x*2
是相等的。并且 x>>1
和 x/2
是相同的。
对于整数运算元,一元运算符+-^定义如下:
+x is 0 + x
-x negation is 0 - x
^x bitwise complement is m ^ x with m = "all bits set to 1" for unsigned x
and m = -1 for signed x
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论