算法基础学习笔记——⑦位运算

news2024/10/7 18:21:43

博主:命运之光
专栏:算法基础学习

目录

✨位运算

✨操作一

🍓十进制转化成二进制、八进制、十六进制(连除法)

🍓二进制、八进制、十六进制转化成十进制

🍓关于原码,反码,补码:


前言:算法学习笔记记录日常分享,需要的看哈O(∩_∩)O,感谢大家的支持!


位运算

✨操作一

n的二进制中第k位是几

1.先把第k位移到最后一位n>>k

2.看个位是几x&1

🍓十进制转化成二进制、八进制、十六进制(连除法)

🍓二进制、八进制、十六进制转化成十进制

🍓关于原码,反码,补码:

原码、反码补码是计算机中用来表示带符号整数的三种编码方式。

1. 原码(Sign-Magnitude):

原码是最简单的表示方法,将一个整数按照正负号和数值进行编码。具体规则如下:

  • 正数的原码是其二进制表示形式。
  • 负数的原码是将对应的正数的原码最高位改为1。

🍓例如,假设用8位二进制表示整数,数字+3的原码是00000011,数字-3的原码是10000011。

2. 反码(One's Complement):

反码是在原码的基础上,将负数的表示方式进行改进。具体规则如下:

  • 正数的反码与其原码相同。
  • 负数的反码是将对应的正数的原码按位取反,即将0变为1,将1变为0。

🍓例如,数字+3的反码是00000011,数字-3的反码是11111100。

3. 补码(Two's Complement):

补码是在反码的基础上进行改进,是计算机中最常用的表示方式。具体规则如下:

  • 正数的补码与其原码相同。
  • 负数的补码是将对应的正数的原码按位取反,然后再加1。

🍓例如,数字+3的补码是00000011,数字-3的补码是11111101。

补码的使用在计算机中具有以下好处

  • 可以统一处理正数和负数的加减运算,无需单独处理符号位。
  • 补码只有一个表示零的编码,避免了正零和负零的问题。
  • 补码的表示范围比原码和反码更广,能够表示的最大正整数比较大。

🍓🍓需要注意的是,在使用补码表示的计算机系统中,最高位通常被用作符号位,即0表示正数,1表示负数。这种表示方式使得补码能够直接进行加减运算,并且可以方便地检测结果的正负。

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

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

相关文章

Unity四叉树地图

当使用Unity构建大规模的游戏地图或场景时,使用四叉树数据结构可以提高性能和效率。四叉树是一种基于分割的数据结构,将空间划分为四个相等的子区域,并以递归方式构建树结构。在游戏开发中,四叉树常用于空间分区、碰撞检测和可视化…

Eclipse 教程Ⅱ

Eclipse 修改字符集 默认情况下 Eclipse 字符集为 GBK,但现在很多项目采用的是 UTF-8,这是我们就需要设置我们的 Eclipse 开发环境字符集为 UTF-8, 设置步骤如下: 在菜单栏选择 Window -> Preferences -> General -> W…

python的统计函数库scipy.stats是一个很棒的统计包

描述:在Scipy的模块中,有一个统计的木块——States,其中函数有描述统计(describe)、峰度(kurtosis)、偏度(skew)、众数(mode)、n阶矩。 分布:还有一些分布函数,正泰分布(norm)、对数正态分布(lognorm)、…… 计算:针…

Go语言介绍以及Go语言环境安装

初步介绍: Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源&am…

Manjaro linux 安装svn 并在文件管理器里显示相关图标

需要先安装svn linux版打开终端执行 1 sudo pacman -S svn 安装完成后执行一下 1 svn --version 出现这个就说明svn已经安装完成了,这个时候我们可以执行 1 svn checkout [路径] 就可以检出svn服务器上相关内容了 但是这个有的时候我们打开文件管理器想要看到被…

并发编程的三大特性之原子性

原子性 这个定义是一种规定,描述了Java中的理想就是为了能实现一个操作不能分割,不可中断,一个线程在执行的时候,另一个线程不会去影响他。 Java中的原子性可以理解为多线程操作临界资源,预期的结果和最终的结果一致。…

STM32基本外设超详细44000字教程

GPIO GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可…

ML | 5 Logistic回归

ML | 5 Logistic回归 文章目录 ML | 5 Logistic回归Logistic回归思想基于Logistic回归和Sigmoid函数分类基于最优化方法的最佳回归系数确定梯度上升法**梯度上升法例子:**梯度下降法 训练算法:使用梯度上升找到最佳参数画出决策边界 训练算法&#xff1a…

本地是如何开启Nginx服务的?

一、window 配置Nginx服务器 1、Nginx下载地址 http://nginx.org/en/download.html 选择一个适合自己的版本 2、下载后直接解压 3、修改Nginx启动端口 配置文件位置:nginx-1.22.0/conf/nginx.conf 默认80,以防端口被重用,改为8056 4&…

PFEA112-20 3BSE050091R20 张力控制器

您的张力测量系统包括: 张力电子PFEA111或PFEA112–PFEA111是一款经济高效的紧凑型用户友好型张力电子产品,提供 来自两个称重传感器的精确可靠的快速模拟SUM信号,用于控制 和/或监测。显示器可以显示SUM、单个A&B和差异信号小尺寸和DIN导…

k8s 维护node与驱逐pod

1.维护node节点 设置节点状态为不可调度状态,执行以下命令后,节点状态会多出一个SchedulingDisabled的状态,即新建的pod不会往该节点上调度,本身存在node中的pod保持正常运行 kubectl cordon k8s-node01 kubectl get node 2.驱…

多线程并发环境生产者-消费者,kotlin

多线程并发环境生产者-消费者&#xff0c;kotlin 多个生产者-多个消费者&#xff0c;消费者竞争抢占生产者制造的资源。 //存放资源的仓储 val store arrayOfNulls<Int>(1)//资源 var RESOURCE: Int 0fun producer(tid: Long) {synchronized(store) {if (isFull()) {…

【MySQL】- 02MySQL explain执行

目录 1.使用explain语句去查看分析结果2.MYSQL中的组合索引3.使用慢查询分析&#xff08;实用&#xff09;4.MYISAM和INNODB的锁定explain用法详解关于MySQL执行计划的局限性&#xff1a;备注&#xff1a; 1.使用explain语句去查看分析结果 如explain select * from test1 whe…

MicroPython应用基础-准备MicroPython开发板

MicroPython应用基础-准备基于MM32F5的MicroPython开发板 文章目录 MicroPython应用基础-准备基于MM32F5的MicroPython开发板引言硬件软件搭建MicroPython编译环境获取MicroPython源码编译MicroPython源码生成固件下载MicroPython固件到电路板 运行第一个样例工程 引言 本文主…

JavaScript变量、数据类型、运算符

1. 变量 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, in…

GoWeb -- gin框架的入门和使用

认识gin go流行的web框架 go从诞生之初就带有浓重的开源属性&#xff0c;其原生库已经很强大&#xff0c;即使不依赖框架&#xff0c;也能进行高性能开发&#xff0c;又因为其语言并没有一定的设计标准&#xff0c;所以较为灵活&#xff0c;也就诞生了众多的框架&#xff0c;各…

使用朴素贝叶斯过滤垃圾邮件

使用朴素贝叶斯过滤垃圾邮件 文章目录 使用朴素贝叶斯过滤垃圾邮件流程准备数据构建训练集和测试集分类电子邮件 完整测试代码&#xff1a;欢迎关注公众号【三戒纪元】 朴素贝叶斯的最著名的应用&#xff1a;过滤电子邮件垃圾。 流程 收集数据&#xff1a;提供文本文件准备数据…

【ISO14229_UDS刷写】-3-$36诊断服务TransferData理论部分

总目录&#xff1a;&#xff08;单击下方链接皆可跳转至专栏总目录&#xff09; 《UDS/OBD诊断需求编辑工具》总目录https://blog.csdn.net/qfmzhu/article/details/123697014 目录 1 $0x36 TransferData诊断服务描述 2 0x36服务请求消息 2.1 0x36服务请求消息定义 2.2 0…

【C++系列P1】带上这篇基础小宝典,向特性奇多的C++进发吧!勇士们!(持续更新ing~)

前言 大家好吖&#xff0c;欢迎来到 YY 滴 C系列 &#xff0c;热烈欢迎&#xff01;(持续更新ing~&#xff09;本章主要内容面向刚刚学完C语言&#xff0c;准备或正在接触C的老铁。而往往C奇多的小特性和知识点让铁铁们头晕晕脑涨涨&#xff0c;因而本章收纳了许多C中零散的知识…

跨境电商系统源码分享,解决你的电商难题

作为跨境电商领域的专家&#xff0c;我在这里为你分享跨境电商系统源码&#xff0c;帮助你解决各种电商难题&#xff01;本文将为你提供全面而专业的指导&#xff0c;让你的电商之路更加顺畅。 为什么选择跨境电商系统源码&#xff1f; 跨境电商系统源码是现代电商业务管理的…