原码、反码、补码,以及负数的位操作

1、

原码将符号位数码化了的数,其中+”用0表示,“-”用1表示。

反码正数的反码表示与原码表示一样;负数的反码表示是原码表示的符号位不变,数值位逐位取反。

补码正数的补码表示与原码表示一样;负数的补码表示是原码表示的符号位不变,数值位逐位取反后最低位加1(反码表示最低位加1)。

例:(假如以八位二进制表示)

[+63]  =0011  1111       =0011  1111         =0011  1111

[-63]   =1011  1111       =1100  0000         =1100  0001


2、负数的位操作(以与为例)

(1)计算机中,无论正数还是负数,都是以其补码形式存储的;

(2)如果位操作后的结果最高位为“1”,说明它是负数的补码,转化为实际的整数时要逆操作,即-1(减一)后保持最高位不变再取反。

(3)一个数(如b)的相反数(-b)的补码,等于该数的补码取反,然后加1。

比如:

-5  原码=1000 0101     反码=1111 1010     补码=1111 1011

5   原码=0000 0101     反码=0000 0101    补码=0000 0101 

可以进一步发现,-5 & 5 = 0000 0001,同理 -6 & 6 = 0000 0010,-7 & 7 =0000 0001……

这是一个很有用的性质,即返回(某个数的绝对值,如-6的绝对值是6)的(二进制表示的,6的二进制表示是0000 0110)从右往左第一个为1(第一位为1)的所表示的整数(0000 0010)。     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IT菜鸟之DHCP

DHCP 动态主机配置协议(Dynamic host configuration protocol)作用:分配网络地址选项:excluded-address 排除地址pool IP地址池(网段 - 排除地址 地址池)relay DHCP代理服务器(无用&#xff09…

override render 方法

有时候需要在ASP.net 或MVC 中在页面呈现前,把要显示的内容作一个拦截,更改内容后显示。 只要重写 protected override void Render(System.Web.UI.HtmlTextWriter writer) 方法。 例如: 我把返回的内容中的html 的标题进行改变,…

Sliverlight MD5

突然想在WP上用MD5 ,c#的MD5方法在SL下是不能用的额 搜索下MSDN,找到解决方法: http://archive.msdn.microsoft.com/SilverlightMD5 下载那两个类添加到工程中,然后添加代码: 1: protected string GetMD5Hash(string input) 2: { …

“指针+1”的理解

1、一个32位的机器,该机器的指针是多少位的? 指针是多少位只要看地址总线的位数就行了,80386以后的机子都是32的地址总线,所以指针的位数就是4个字节了。 2、指针加1,结果是对该指针增加1个储存单位。 (…

apache-apollo启动报错

启动Apollo后,进入网页版管理中心后报错:500: Server Error https://127.0.0.1:61681/console/index.html 网页抓包 报错:{"code":"500: Internal Server Error","message":"java.lang.IllegalArgumentEx…

android 标签对应的代码怎么写alignParentRight、marginRight

2019独角兽企业重金招聘Python工程师标准>>> android:layout_alignParentRight"true" LayoutParams lp new LayoutParams(mp); lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 转载于:https://my.oschina.net/zhangjie830621/blog/158899

TinyXML保存UTF-8编码的XML

最近的项目在Linux下用到了TinyXML库,但是输出xml中的中文总是显示乱码,用UltraEdit查看输出文件为ASCII编码,求助Google大神,发现只需要将tinyxml.cpp源文件中的3处useMicrosoftBOM false;改为useMicrosoftBOM true;即可输出UT…

位操作实现加减乘除

一、常见功能的位操作实现: (1)常用的等式:-n ~(n-1) ~n1; (2)获取整数n的二进制中最右边一个1:n&(-n)或者n&~(n-1),如:n010100,则-n…

【随笔】About QWERTY

QWERTY键盘排布的最初目的是为了减慢人们的打字速度从而减缓对机器的压力,虽然随着时间的推移机器的处理能力越来越强,但是人们已然习惯了QWERTY键盘的打字习惯,所以QWERTY键盘布局被保留了下来。但是有一点奇怪的是QWERTY键盘被原封不动的照…

windows系统c++多线程开发

线程的一些基本概念 一、线程的基本概念。 基本概念:线程,即轻量级进程(LWP:LightWeight Process),是程序执行流的最小单元。一个标准的线程由线程ID、当前指令指针(PC),寄存器集合…

centos 下安装配置nfs服务器

1、环境centos5.6_x64iptables 关闭selinux 开启(这个好像不影响)服务端:192.168.10.150客户端:192.168.10.1522、安装yum install portmap //默认已安装yum install nfs-utils3、创建共享目录mkdir /nfsvim /etc/exports/nfs 19…

使用FTP获取RFC文档

连接FTP服务器主机: ftp FTP.RFC-EDITOR.ORG 21(21是FTP中控制连接的端口号)输入用户名:anonymous输入密码:namehost.domainRFC文档是放在in-notes/rfcxxxx.txt中的(xxxx是RFC文档的编号)&#…

XP系统安装SQL2000企业版开启1433端口

1.获得SQL2000安装包2.获得SQL2000.MSDE-KB884525-SP4-CHS.EXE/SQL2000-KB884525-SP4-X86-CHS.EXE补丁包微软官网有下载3.在SQL2000 的安装盘中找到MSDE这个目录,并且点击setup.exe安装,完成后重启。4.再次安装SQL2000客户端工具,完成后重启5…

GPU编程语言选择(OpenCL、CUDA 与C++ AMP)

1、CUDA、OpenCL与C AMP 其实在C AMP之前已经有了两个异构编程框架:CUDA与OpenCL。CUDA(Compute Unified Device Architecture)是显卡厂商Nvidia于2007年推出的业界第一款异构并行编程框架。在Nvidia的大力支持下,CUDA拥有良好的开…

初见 IsolatedStorage

IsolatedStorage 翻译过来是(隔离存储空间) 怎么理解呢,jake lin的故事讲得很好,可以拿过来借用一下 " 朝鲜人民精神文明都非常的发达, 因此上网时都不需要访问internet. 因此不可能访问我们的网络.也不能访问其他精神文明没有他们发达的国家的网络. 我们也不能访问朝鲜的…

单链表的头插法和尾插法实现代码(无头结点)

/*头指针,可以发现head是赋值为NULL,而不是head->next*/ //-----------------头插法------------------- node *head, *p; head NULL; while (……) {p (node *)malloc(……);p->data ……;p->next head;//此时第一个p的next指针是NULL,其后…

iptables的SNAT和DNAT应用

首先开启路由转发功能&#xff1a;# vim /etc/sysctl.confnet.ipv4.ip_forward 1# sysctl -p&#xff08;1&#xff09;SNAT&#xff1a;内网主机 --访问--> 外网服务器<1> 搭建模拟环境内网PC1&#xff1a;172.16.0.1/16&#xff08;Host-Only&#xff09;网关PC2&a…

[Winodows Phone 7控件详解]容器控件

在Windows Phone7中存在着多个容器控件&#xff0c;这些控件主要是用来界面的布局设置&#xff0c;以及包容多个控件时的布局设置。 一.Grid控件&#xff1a;主要用于界面的布局&#xff0c;这个和web page里的很相似&#xff0c;可以通过网格布置规划界面&#xff0c;也可以嵌…

C++ Template

引言 模板&#xff08;Template&#xff09;指C程序设计设计语言中采用类型作为参数的程序设计&#xff0c;支持通用程序设计。C 的标准库提供许多有用的函数大多结合了模板的观念&#xff0c;如STL以及IO Stream。 函数模板 在c入门中&#xff0c;很多人会接触swap(int&, …

《数据结构与算法分析》学习笔记(二)——算法分析

一、对算法分析方法的最简单的理解和使用方法 1、首先大家可能一般会被那些数学的概念搞晕&#xff0c;其实简单理解下来&#xff0c;就是假设任何语句执行的效率都是一样的&#xff0c;所以设定每一个语句的执行时间都是一个时间单位&#xff0c;那么只要计算这个程序到底执行…