当前位置: 首页 > news >正文

徐州网站建设哪家好薇上海建设网站哪家好

徐州网站建设哪家好薇,上海建设网站哪家好,百度上海分公司地址,envato wordpress toolkit二进制位的原码反码补码转换 以及 按位与、按位或|、异或^ 一、二进制位的原码、反码、补码转换1.机器数2.原码3.反码4.补码 二、按位与、按位或|、异或^ 最近在练习LeetCode上的算法题#xff0c;遇到了位运算求解的问题#xff0c;作以复习总结。 一、二进制位的… 二进制位的原码反码补码转换 以及 按位与、按位或|、异或^ 一、二进制位的原码、反码、补码转换1.机器数2.原码3.反码4.补码 二、按位与、按位或|、异或^ 最近在练习LeetCode上的算法题遇到了位运算求解的问题作以复习总结。 一、二进制位的原码、反码、补码转换 在计算机当中都是使用补码来进行计算和存储的。反码解决了正确计算负数问题补码很好的解决了反码 负数不能跨零计算的弊端并且补码还可以记录一个特殊的值 -128这个数据在 1 个字节下是没有原码和反码。 正数的原码反码补码相同 负数的原码—反码: 符号位不变其余各位取反; 负数的反码—补码: 反码加上1相当于将原码数值位取反然后在最低位加1 1.机器数 机器数一个数在计算机中的表示形式是二进制 机器数通常是带有符号的指有正数和负数之分计算机用最高位存放符号这个 bit 一般叫做符号位。 正数的符号位为 0 负数的符号位为 1。 比如十进制中的数 7 计算机字长为8位转换成二进制就是 0 0 0 0 0 1 1 1一个 byte 有 8bit有效的取值范围是 -128 ~ 127。如果是 -7 就是1 0 0 0 0 1 1 1。计算机底层使用二进制形式的补码来计算和存储数据 一个存储的二进制码分原码、反码、补码 2.原码 十进制数据的二进制表现形式就是原码原码最左边的一个数字就是符号位0为正1为负。 左边第一位为符号位其他位为数据位。 一个 byte 有 8bit最大值是 0 1 1 1 1 1 1 1(127)最小值是 1 1 1 1 1 1 1 1(-127) 在计算机中之所以使用二进制来表示原码是因为逻辑简单对于电路来说只有开或者关两种状态用二进制是在方便不过的了。 计算 使用原码对正数进行计算不会有任何问题的。 但是如果是负数的话那计算的结果就会大相径庭了。 例如 520 0 0 0 0 1 0 1 0 0 1 0-----------------0 0 0 0 0 1 1 1 结果没问题值为7.如果是负数-56 -11 0 1 1 1 0 0 0- 1-----------------1 0 1 1 0 1 1 1 显然结果不应该是-55减一之后正确的结果应该是 -571 0 1 1 1 0 0 1才对。为了解决原码不能用于计算负数的这种问题这时候反码它出现了作为负数的“计算的救星”。 计算规则是正数的反码不变和原码一致负数的反码会在原码的基础上高位的符号位不变其他位取反 1 变成 0 0 变为 1 。 3.反码 正数的反码是其本身等于原码负数的反码是符号位保持不变其余位取反。反码的存在是为了正确计算负数因为原码不能用于计算负数。 十进制数字原码反码00000 00000000 0000-01000 00001111 1111-11000 00011111 1110 负数计算 这时候我们再来使用反码计算一下 -56 - 1 的结果。 -56 的原码是1 0 1 1 1 0 0 0如果转成反码符号位不变其他位取反 那么它的反码就是1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1- 1 -----------------1 1 0 0 0 1 1 0-56 -1 -57-57 的原码是1 0 1 1 1 0 0 1转成反码刚好是1 1 0 0 0 1 1 0刚好等于刚才我们算出的值。跨零计算 不过反码也有它的 “ 软肋 ”如果是负数跨零进行计算的话计算得出的结果不对. -3 5 来举例 -3 的原码是1 0 0 0 0 0 1 1转成反码的话就是 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 00 1 0 1 -----------------0 0 0 0 0 0 0 1 把计算结果转成十进制就是 1这结果显然不对。那么我们该怎么计算呢这时候作为反码的补充编码 —— 补码就出现了。作为反码的补充编码 —— 补码就出现了。 4.补码 正数的补码是其本身负数的补码等于其反码 1。因为反码不能解决负数跨零类似于 -6 7的问题所以补码出现了。 跨零计算 这时候我们再来使用反码计算一下 -3 5 的结果。 -3 的原码是1 0 0 0 0 0 1 1转成反码的话就是 1 1 1 1 1 1 0 0再转成补码就是1 1 1 1 1 1 0 1。 1 1 1 1 1 1 0 10 1 0 1 ----------------- 0 0 0 0 0 0 1 0 结果正确。二、按位与、按位或|、异或^ 运算符含义运算规则用途位与两个位都是1结果为1其他为01.判断奇偶数用if ((a 1) 0) 代替 if (a % 2 0)来判断a是不是偶数2.取余让a对16进行取余那么就可以让 a 15|位或两个位都是0结果为0其他为1^位异或同0异1相同为0不同为1交换两个数(a ^ b) ^ b a ^ (b ^ b) a ^ 0 aa^0a~位非0变11变0求相反数 ~a 1左移向左移动低位补零做 * (2 ^ n)的运算右移向右移动高位补零符号位按照原来数字的符号位不变1.做 / (2 ^ n)的运算2.求绝对值 a 31 0 ? a : (~a 1)无符号右移向右移动高位补零- 下一篇有关于位运算实际使用的介绍
http://www.lebaoying.cn/news/23305.html

相关文章:

  • 用模板做网站的方法18款未成年禁止下载的app
  • 网站建设文件windows2012系统怎么建设网站
  • 缅甸做菠菜网站南通网站开发价格
  • 免费做网站建设特种作业证查询
  • 婚纱影楼网站模板做男鞋的网站
  • 公司网站开发费进什么费用用淘宝评论做网站
  • Paas网站建设wordpress怎么做商城
  • 哪个网站做欧洲旅行比较好免费网站素材下载
  • 梅州网站制作做网站什么语言
  • 网站规划与制作wordpress copyfeed
  • 手表网站 欧米茄廊坊企业官网搭建
  • wordpress 下载站专业做高端网站
  • 万网空间上传网站吗网站开发 前端如何学习
  • 网站下载到本地网站关键词作用
  • 官方网站开发制作公司wordpress 底部 时间
  • 苏州网站建设企业wordpress黑色名片主题
  • 化学网站建设小程序制作软件下载
  • 旅游网站开发方案ppt北京网络营销策划公司
  • 上海网站开发哪家好公司网站开发费用济南兴田德润o评价
  • 网站备案类型及条件login to view all v2.0 wordpress
  • 淘宝网站建设的主图如何设计python 网站建设 拖拽式
  • 网站空间哪里买北京市网页设计
  • 企业网站的建设思维导图广州高端网站定制公司哪家好
  • 网站策划书的编写网站开发环境lmnp
  • 哪个网站做新中式常用网站字体
  • 做服装团购网站深圳市住房和建设局地址
  • 陕西省住房和城乡建设厅执业资格注册中心网站品牌设计培训
  • 湛江电气建站软件做页面设计的软件
  • 盐城网站建设咨询企业网站的制作成本
  • 上海建站shwzzz建筑安全员c证查询官网