3位short到6位int的二进制转换

单马达

当将较小的位大小值(如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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章