C++ 负数转二进制形式

2023-11-18

C++ 负数转二进制形式

1,十进制的负数转成二进制形式

#include <bitset>
#include <iostream>

//将int类型数据通过二进制的方式打印
void binarycout(int n){
	bitset<sizeof(int)*8> mybit(n);
	cout<< mybit <<endl;
}

//负数转二进制
void negativeInt2charBuf(int num){
	printf("%d\n",num);
	if(num<0){
		int n=abs(num);//原码
		int a=n^0xff;//取反
		a=a+1;//加1,得补码
		printf("%d\n",a);
		binarycout(a);
	}
}

//测试
negativeInt2charBuf(-9);

//结果
-9
247
00000000000000000000000011110111

2,将二进制的负数形式转成十进制

 

void charBuf2Int2(unsigned char buf){
	int rt;
	rt = (buf & 0x80) >> 7;
	//判断是否为负数,1为负 0为正
	if(rt==1){
		printf("-\n");
		unsigned int cc=0;
		cc=buf;
		cc=cc-1;//减一,
		int h=cc^0xff;//再取反
		printf("d:%d",-h);
	}else{
		printf("+\n");
		int b=0;
		b=buf;
		printf("b:%d",b);
	}
}

//测试
unsigned char a=0xf7;
charBuf2Int2(a);

//结果
-
d:-9

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 负数转二进制形式 的相关文章

随机推荐

  • 【软件测试】Git详细-获取Git仓库,全网最全一篇打通...

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • rockylinux简单安装

    前言 官网 https rockylinux org 阿里云 https mirrors aliyun com rockylinux 下载地址 最小镜像只有2G https mirrors aliyun com rockylinux 8 8
  • 色 彩 RGB 值 对 照 表

    参见 https blog csdn net bravegogo article details 52119723
  • 【论文翻译】Convolutional Oriented Boundaries

    目标轮廓检测与全卷积编解码器网络 摘要 本文实现一种基于全卷积编解码器网络的轮廓检测深度学习算法 1 与以往的低级边缘检测不同 该算法重点是检测高级对象轮廓 算法网络是在PASCALVOC上进行端到端训练的 从不准确的多边形注释中提炼出gr
  • ubuntu 安装docker

    Ubuntu 安装 Docker CE 警告 切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker 准备工作 系统要求 Docker CE 支持以下版本的 Ubuntu 操作系统 Artful 17 10
  • 【温故知新】深度学习中的Dropout

    今天仔细看了一下AlexNet 发现最后有个dropout层 按以前理解还以为类似降采样 图片来自这里 出现原因 神经网络神经元可能过多 会导致过拟合 所以dropout作用就是随机删减一些神经元 给定删减概率p 如下图 图片来自这里 具体
  • Crest Ocean System URP

    https assetstore unity com packages tools particles effects crest ocean system urp 141674
  • python语法-模块

    python语法 模块 模块的导入 导入语法 from 模块名 improt 模块 类 变量 函数 as 别名 演示模块导入 import time print hello time sleep 5 print world 自定义模块并导入
  • Cuda 编程 矩阵转置

    将矩阵分块进行转置 输入矩阵 输出矩阵 include
  • 递归算法与非递归算法效率的一般计算方法

    1 非递归算法 1 首先确定一个参数n来表示输入的大小 2 分析算法的基本操作 一般在循环的最里层 3 判断算法需要执行基本操作的次数是否只与n有关 如果它还与其他因数有关 则需要分开考虑算法的最好 最坏 平均情况 4 建立一个计算算法需要
  • java 导出excel实例(内含通用excel导出工具类)

    1 创建一个ExportPropertiesDto 用于动态导出表头 前端传过来的json数组类似 field year fieldName 年份 field departmentName fieldName 部门 field typeNa
  • 机器学习基础线性回归——预测网店的销售额

    线性回归 步骤 明确定义所要解决的问题 网店销售额的预测 在数据的收集与预处理环节 分五个环节完成数据的预处理工作 分别如下 1 收集数据 需要提供的网店的相关记录 2 将收集到的数据可视化 显示出来看一看 3 做特征工程 使数据更容易被机
  • python使用时间戳计算运行时间

    时间戳计算运行时间 from time import time time 记下每一次time 这一行命令时的时间戳 时间戳是一行数字 用来记录此时此刻的时间 t0 time 当前时间 for i in range 10 print i i
  • Java内存分区

    1 简介 内存全称电子计算机内存储器 用于暂时存储CPU中运行的数据以及与磁盘交换的数据 它是硬件存储与CPU进行沟通的桥梁 计算机中的所有程序进行都在内存中进行 所以java程序要想运行必须要在内存中申请一块空间 java内存中可以分为堆
  • 编译出错 程序中有游离的‘\302‘

    编者按 复制别人的代码到Linux中运行 在编译时出错 错误 程序中有游离的 302 查找资料后获取解决方法 在此做一个记录 错误提示如下 read c 164 6 错误 程序中有游离的 302 read c 164 6 错误 程序中有游离
  • 系统邮件模板的邮箱兼容性

    近期支付宝的系统邮件进行了一次改版 在这次改版的过程中 我们遇到了很多在网页中显示正常的html邮件在邮箱中显示异常的问题 下面我们把遇到的问题和一些常用的代码书写规则和大家分享 共性问题 许多邮箱都会出现的问题 1 字体大小会发生变化 排
  • 项目管理2:电子项目研发流程安排

    电子项目研发流程安排 项目研发各阶段安排 1 方案选型阶段 1 所做工作 方案调研 选型 可行性研究 2 设备采购 参考设备 参考方案 demo 注 此阶段全面初步了解设备需求 制定方案 采购验证用设备 2 方案验证阶段 1 所做工作 方案
  • jdbc,prepareStatement,表名为变量时无法使用占位符‘?’

    java操作有些数据库比如clickhouse暂时还用的是jdbc 执行sql时面临使用statement还是prepareStatement 其中statement写的简单不过会有sql注入最后安全检查不过 prepareStatemen
  • ctf文件包含+伪协议总结

    基本原理 后端编程人员一般会把重复使用的函数写到单个文件中 需要使用时再直接调用此文件即可 该过程也就被称为文件包含 文件包含的存在使得开发变得更加灵活和方便 但同时也带了安全问题 导致客户端可以远程调用文件 造成文件包含漏洞 这个漏洞在p
  • C++ 负数转二进制形式

    C 负数转二进制形式 1 十进制的负数转成二进制形式 include