当将较小的位大小值(如short)分配给较大的值(如int或double)时,我只是想对规则进行澄清。假设一个6位机器使用带符号的整数的二进制补码算术,那么当我将较少的位数转换为较大的位数时会发生什么情况?是否将全零或全零添加到结尾或开头?不确定,任何帮助将不胜感激。IE:
short num = -3;
int y = num;
二进制中的“ num” = 101,y = 000101或101000或111101 ...等吗?
转换为更大位数的规则是什么?
谢谢!
在您的示例中,num
将符号扩展为6位,这意味着将符号位复制到的高3位中y
。由于num
为负,其符号位为“ 1”,结果为111101。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句