C位级运算基础-阿里云开发者社区

开发者社区> cloud_ruiy> 正文

C位级运算基础

简介: 无符号数 有符号数,有符号数的最常见的表示方法之一就算补码 补码的 最高有效位是符号位  正数的补码是本身,负数的补码是本身值每位求反最后加1 二进制的&与(都为真时为真) |或 (一个为真时为真)^异或(有一个为真,但两个不相同时为真) ~取反(真时假,假时真) -3 的16 进制  首先原码...
+关注继续查看

无符号数

有符号数,有符号数的最常见的表示方法之一就算补码

补码的 最高有效位是符号位 

正数的补码是本身,负数的补码是本身值每位求反最后加1

二进制的&与(都为真时为真) |或 (一个为真时为真)^异或(有一个为真,但两个不相同时为真) ~取反(真时假,假时真)


-3 的16 进制  首先原码为0011,假如是正数补码等于原码, 负数的求补码,首先计算|-3|的原码,然后再计算反码(就是按二进制位取反),再在反码的基础上加1

 

正数补码 是本身 ,负数补码是绝对值按位取反码再加1;豁然明朗,

再次总结下  无符号表示,有符号表示(一般最通常用的是补码,或是反码)


w位无符号 取值范围0 ~ 2(w - 1)    1111  8 4 2 1 = 15    2(w) - 1

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 192 + 56 + 7 = 192 + 63 = 255 = 2(8) - 1 = 16 * 16 = 256 - 1 = 255 


w位 无符号取值范围 2(w) - 1 


w位 有符号取值范围-2(w - 1) ~ 2(w -1) - 1

w = 8

-2(8-1) ~ 2(8-1) - 1 = -2(7) ~ 2(7) - 1  = -128 ~ (128 - 1) = 128 ~ 127


补码,反码 

有符号才反码、补码,反码 + 1 = 补码

有符号的 补码是先通过绝对值的原码 取反再 加 1

再加深下对二进制移位规则的回顾,左移x << k 丢弃最高的k个有效位,在右侧尾部补充k个0

右移x >> k 逻辑移时 在左侧补k个0

算符移位时在左侧补k个移位数的最高有效位.



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#基础知识回顾-- 反射(1)
   反射(reflection)是一种允许用户获得类型信息的C#特性。术语“反射”源自于它的工作方式: Type对象映射它所代表的底层对象。对Type对象进行查询可以获得(反射)与类型相关的信息。
611 0
C#基础知识回顾-- 反射(2)
使用反射调用方法: 一旦知道一个类型所支持的方法,就可以对方法进行调用。调用时,需使用包含在   MethodInfo中的Invoke()方法。调用形式:   object Invoke(object ob, object[] args)   这里ob是一个对象引用,将调用它所指向的对象上的方法。
617 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
7238 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
8920 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
10522 0
C#基础知识回顾-- 反射(4)
从程序集获得类型   先说点题外话,现在技术真的发展太快了。我这边还很多东西半生不熟 呢,那边又出现了好多有趣的新东西让你眼红不已。学还是不学这还真是 个问题。Node.js 、bootstrap,我最近刚发现的新技术,其实他们已经 存在很久了,只是没有接触过而已。
739 0
C#基础知识回顾-- 反射(3)
获取Type对象的构造函数:   前一篇因为篇幅问题因为篇幅太短被移除首页,反射这一块还有一篇“怎样在程序集中使用反射”, 其他没有什么可以写的了,前两篇主要是铺垫,在实际应用中,主要是最后两篇。
746 0
+关注
cloud_ruiy
爱技术,爱开源,爱linux! 在技术成长道路上,能拉一把就拉一把,不藏着不掖着! 我由衷希望能和有理想敢吃苦的it人一起共同进步,共同成长! 虽然我现在没有大牛的能力,但是我有大牛的心态. 技术领域:shell编程,C编程,嵌入式开发.hadoop大数据,桉树,onenebul
1715
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载