进制转换,原码,反码,补码,二进制位运算及应用

进制转换

2B(0--1),8O(0--7),10D,16H(0——9,A——F) 

8位二进制数,左边高位,右边低位

2,8,16  -> 10进制整数,小数
  • 整数:从后往前,依次(每位)* 进制(2,8,16) ^ (0++),最后求和
  • 小数:从前往后,依次(从小数点后每位)* 进制(2,8,16) ^ (-1- -),最后求和
  • 最后整体求和
引用
10  ->2,8,16进制整数,小数
  • 整数:不断除进制(2,8,16),直到商为0,反向读取余数
  • 小数:不断乘进制(2,8,16),向下取整,正向读取,写在小数点后,每次执行都获得一个精度
  • 和整数部分同时输出
引用
2 -> 8,16进制
  • 2 -> 8从后往前,每3位合为一个二进制位
  • 2 -> 16从后往前,每4位合为一个二进制位
8,16  -> 2进制
  • 8  -> 2每一个八进制位转换为3个二进制
  • 16  -> 2每一个十六进制位转换为4个二进制
8 ->16进制
  • 通过2/10进制间接转换

原码,反码,补码

原码:对于signed的整数,最高位是符号位:正(0)负(1),其余为是数值的绝对值,对于加减运算操作不友好,需要通过反码或补码来完成

反码:正数和原码一致,负数为十进制形式的绝对值按位取反,符号位不变,表示-128(对于8位时)

补码:正数和原码一致,负数为反码 + 1

有效范围

unsigned无符号8位,0——255

signed有符号8位,- 128——127

每增一位,都是前一位的2倍

二进制运算

计算机运算都是以二进制补码形式

加法:

5 + 1 都是正数,正数原反补都一致,对应位相加,

0 + 0 = 0, 0 + 1 / 1 + 0 = 1, 1 + 1 = 2->转为2进制 = 10(进一位), 1 + 1 + 1 = 3->转为2进制 = 11(进一位)

减法:

5 - 1 = 5 + (-1),5的补码和原码一致0101,-1的补码计算得到1111,

因此相加=10100,忽略最高位,为4

位运算

我们直到计算机都是以二进制形式存储,因为对位的操作,比普通运算符要快许多,因此尽量使用位运算代替普通运算符

位运算符
引用
常见位操作
引用
引用
常见的位十进制操作 
乘除法
a << 1 ≡ a ∗ 2
a >> 1 ≡ a / 2 
交换整形变量值
 void swap(int &a,int &b){a ^= b;b ^= a;a ^= b;}
判断奇数偶数
a & 1
对负数取绝对值
 ~ a + 1

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

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

相关文章

iftop流量监控工具

一、iftop简介 iftop可以用来监控网卡的实时流量&#xff08;可以指定网段&#xff09;、反向解析IP、显示端口信息等&#xff0c;详细的将会在后面的使用参数中说明。 二、安装iftop 1、编译安装 如果采用编译安装可以到iftop官网下载最新的源码包。 1.1 CentOS上安装所需…

有没有自带财务管理功能的海外仓系统?

在全球化的商业环境中&#xff0c;海外仓作为连接国际市场的物流枢纽&#xff0c;其重要性日益凸显。然而&#xff0c;随着业务范围的扩展和费用类型的多样化&#xff0c;海外仓在财务管理上面临着诸多挑战。传统的手工计费和对账方式不仅耗时费力&#xff0c;而且容易出错&…

记录一次fs配置导致串线的问题

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 fs在实际的使用过程中也会经常碰到莫名其妙的问题&#xff0c;大部分都是配置问题。 环境 CentOS 7.9 freeswitch 1.10.7 docker 26.1.1 问题描述 组网方案如下。其中的fs-reg是注册服务器&#xff0c;fs1和fs2是…

栈的各种接口的实现(C)

栈的概念 栈&#xff1a; 一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。压栈&#xff1a;…

join 命令:合并文件

一、命令简介 ​join​ 命令用于合并两个文件&#xff0c;基于一个共同的键&#xff08;key&#xff09;字段&#xff0c;将一个文件中的行与另一个文件中的行合并在一起。 这个键字段在两个文件中必须是相同的&#xff0c;这样 join 才能正确地将行匹配在一起。 ‍ 二、命…

linux系统维护:给linux的根目录分配更多的额外的磁盘空间,实现系统磁盘容量的平滑升级

目录 一、背景说明 二、概念介绍 1、物理卷&#xff08;Physical Volume, PV&#xff09; 2、卷组&#xff08;Volume Group, VG&#xff09; 3、逻辑卷&#xff08;Logical Volume, LV&#xff09;&#xff1a; 三、操作过程 1、vmware中新增磁盘 2、查看磁盘信息 3、格式化…

进阶版水仙花数水是指一个n位数,各个位数字的n次方之和等于该数字本身

两种方法&#xff1a; 第一种&#xff0c;是输入一个数值&#xff0c;判断是否为水仙花数 //打印水仙花数 //水仙花数是指一个n位数&#xff0c;各个位数字的n次方之和等于该数字本身 //如&#xff1a;1531^35^33^3 // //分析&#xff1a; //153/1015 //15/101 //1/100 #incl…

✨机器学习笔记(五)—— 神经网络,前向传播,TensorFlow

Course2-Week1: https://github.com/kaieye/2022-Machine-Learning-Specialization/tree/main/Advanced%20Learning%20Algorithms/week1机器学习笔记&#xff08;五&#xff09; 1️⃣神经网络&#xff08;Neural Network&#xff09;2️⃣前向传播&#xff08;Forward propaga…

【C++】list容器的基本使用

一、list是什么 list的底层结构是带头双向循环链表。 相较于 vector 的连续线性空间&#xff0c;list 就显得复杂很多&#xff0c;它是由一个个结点构成&#xff0c;每个结点申请的空间并不是连续的&#xff0c;它的好处是每次插入或删除一个数据&#xff0c;就配置或释放一个…

MATLAB绘图基础8:双变量图形绘制

参考书&#xff1a;《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 8.双变量图形绘制 8.1 散点图 散点图用于显示两个变量间的关系&#xff0c;每个数据点在图上表示为一个点&#xff0c;一个变量在 X {\rm X} X轴&#xff0c;一个变量在 Y {\rm Y} Y轴&#…

ACE搭建地图,助力企业新媒体矩阵优化升级

在数字化浪潮中&#xff0c;为了创造多元化的用户互动和销售机会&#xff0c;众多企业踊跃投入到线上平台&#xff0c;积极构建新媒体矩阵。 然而这条道路并非是坦途。很多对矩阵不了解或是认识不足的企业&#xff0c;想要搭建好矩阵还需要面临众多难题。 对新手来说&#xff0…

Qt 多线程TCP客户端使用QTimer进行重连服务器———附带详细代码和讲解

文章目录 0 背景1 原理1.1 QThread的线程归属1.2 Qtimer使用1.3 TCP客户端使用 2 问题解决2.1 解决思路2.2 解决方法 3 完整的代码示例3.1 tcp_client类3.2 主界面类 附录参考 0 背景 在子线程中&#xff0c;使用Qtimer来进行定时重连TCP服务器&#xff0c;总是会出现跨线程创…

如何通过思维链提升LLM推理能力?

思维链推理(Chain-of-Thought Reasoning)&#xff0c;因其彻底改变了模型处理复杂问题的解决方式&#xff0c;目前已成为人工智能领域最炙手可热的重大进展之一。 通过模拟推理过程&#xff0c;CoT训练大语言模型将复杂的问题拆解&#xff0c;并提供更清晰、更具逻辑的响应(re…

需求4:新加字段(进阶版)

关于加一个字段这种&#xff0c;我前几篇文章已经写过了。这篇文章的这个需求&#xff0c;也是写关于加字段的&#xff0c;只不过与前两篇文章不一样的是&#xff0c;这篇文章的这个需求讲的比较隐晦&#xff0c;需求没有直接跟你说要你加一个字段&#xff0c;要你自己想一下才…

(undone) 学习语音学中关于 i-vector 和 x-vector

来源&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber8461375 (这是一篇跟 X-vector 有关的论文) 这里有更适合初学者的两个资料: 1.https://www.youtube.com/watch?vR3rzN6JYm38 &#xff08;MIT教授的youtube视频&#xff09; 2.https://people.c…

【微信支付-服务商】SpringBoot集成微信服务商支付(多子商户集成)

SpringBoot集成微信服务商支付&#xff08;多子商户集成&#xff09; 前言一、前置工作1、获取商户平台的xxx核心参数2、关联对应的小程序&#xff08;appid&#xff09; 二、SpringBoot集成微信小程序1、引入pom依赖2、yml配置3、java代码文件3.1、Properties 配置类3.2 Confi…

基于JAVA+SpringBoot+Vue的学生干部管理系统

基于JAVASpringBootVue的学生干部管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&#x1f345; 哈…

windows打开可选功能窗口的方式(呜呜设置里面找不到可选功能只能这样找了)

打开方式 winR打开运行窗口&#xff0c;输入fodhelper&#xff0c;按下回车键 即可快速打开可选功能窗口

ChemChat——大语言模型与化学的未来,以及整合外部工具和聊天机器人的潜力

概述 论文地址&#xff1a;https://arxiv.org/abs/2309.16235 虽然近年来技术创新和变革日新月异&#xff0c;从根本上改变了我们对生物化学过程的认识&#xff0c;但化学领域仍花费大量时间和金钱–"10 年 "和 “3000 亿”–将新产品推向市场。这是由于实验室实验的…

发现编程的全新境界——明基RD280U显示器使用体验

前言 在大学的四年里&#xff0c;我几乎每天都泡在实验室&#xff0c;盯着电脑屏幕&#xff0c;一行行地码代码。那时&#xff0c;学校提供的显示器是非常基础的款式&#xff0c;功能简单&#xff0c;几乎没有任何特别之处&#xff0c;甚至配置也比较低。那个时候&#xff0c;…