我只是想弄清楚一些规则,当分配一个较小的位大小的值,比如一个短的,一个更大的,像int或double。假设一台6位机器使用两位的加法运算来表示有符号整数,那么当我将较小的位数转换成更多的位时,会发生什么呢?它是把所有的零或所有的1加到末尾还是开头?不确定,如果有什么帮助会很感激的。即:
short num = -3;
int y = num;二进制数中的"num“是y= 000101还是101000还是111101...etc?
向更多位数转换的规则是什么?
谢谢!
发布于 2013-10-17 21:53:48
在您的示例中,num将进行符号扩展以容纳六位,这意味着符号位被复制到y的上3位中。由于num是负的,它的符号位是'1‘,结果是111101。
https://stackoverflow.com/questions/19339476
复制相似问题