1 / 5
文档名称:

移位运算详解.doc

格式:doc   大小:26KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

移位运算详解.doc

上传人:drp539603 2019/1/9 文件大小:26 KB

下载得到文件列表

移位运算详解.doc

相关文档

文档介绍

文档介绍:
下面是负-的补码,也是负数的内存中实际存储的形式。
下面是-的反码:
下面是正的原码:
前面省略个:……
-
##################
的编码(原码)
右移位后的原码(相当于除)
的编码(原码)
无符号右移位后的原码(相当于除)
################
负数有符号右移的步骤
-的编码(补码):
-右移位后的补码(有符号,负数补,正数补)
-的编码(补码):
-无符号右移位后的补码(无符号都补)
########################
正数(-a)的编码(原码)
负数a的编码(补码)
负数a无符号右移(为正)后的编码(补码-并直接补)
负数a的编码(补码)
负数a右移(仍然为负)的编码(补码)
负数a的编码(补)
负数a左移位后(仍为负)的编码(补)
总结:
正数在内存中只有一种存在形式:原码。
负数在内存中也只有一种存在形式:补码。
只是人们发现,负数的编码可以由正数的编码(原)取反(反)再加得到。
正数的编码可以由负数的编码(补)减(反)再取反(原)得到
对于无符号右移,直接将正数(原)或负数(补)的编码从第一到第三十二依次右移,再在最最前端补.
对于有符号右移:
正数:
正数(原)的编码从第一到第三十二依次右移,再在最最前端补
负数:
负数(补)的编码从第一到第三十二依次右移,再在最最前端补
左移都是在末尾补。
java程序源代码:
package test;
public class Test_ {
/**
* int a = xfd; // a >>>= ;
* 变量a的值为:()。(最高位为)负数a,无符号右