应该是-0x2e3(x前面是数字零(0),而不是字母o)
-0x2e3就是代表是 -739了
可以肯定的回答:十六进制数和八进制数有负数,只需要在前面加上负号-即可。例如:十六进制负数(-ox123ABC),八进制负数(-o1234567)。
从计算机原理来说,不管是十进制,八进制还是十六进制,在内存里面都是以二进制的方式储存。所以对于计算机来说,不管是啥进制,负不负数的,表示方法都相同。整数类型都以补码保存,最高位表示正负号,0表示正数,1表示负数。
这是圆周率数值的截断误差引起的,算出的向量就是接近0的负数。要想得正0,圆周率给个 (四舍)五入值:
pai=3.14159265359
就可以了。
但不能保证别的特殊的输入数会不会 该正0 出现负0。