2013-10-12 117 views
0

我只是试图在将一个较小的位长度值(如短整数)分配给像int或double这样的较大值时解释一些规则。假设一个6位机器使用有符号整数的二进制补码算法,当我将更少的位数投入更大的位数时会发生什么?它是否将所有零或全部添加到结尾或开头?不知道,任何帮助将不胜感激。 I.e:3位短到6位整数的二进制转换

short num = -3; 
int y = num; 

“num”in binary = 101,does y = 000101 or 101000 or 111101 ... etc?

铸造大量钻头的规则是什么?

谢谢!

回答

1

在您的示例中,num将进行符号扩展以适应6位,这意味着符号位被复制到y的高3位中。由于num为负数,因此它的符号位为'1',结果为111101.