无符号整形和有符号整形的比较

2023-11-05

整形数据存储形式

在计算机内存里,整数以补码形式存储(正数的补码即原码)。

进制的转换

原码、反码、补码

		正数的原码==正数的反码==正数的补码==正数本身所对应的二进制数
		负数的原码等于==负数本身所对应的二进制数
		负数的反码==负数本身所对应的二进制数各位取反
		负数的补码==反码+1

例子

正数如 50000 :
原码为:0000 0000 0000 0000 1100 0011 0101 0000

补码为:0000 0000 0000 0000 1100 0011 0101 0000

负数如-100 :
原码为 : 1000 0000 0000 0000 0000 0000 1100 0100

补码为 : 1111 1111 1111 1111 1111 1111 0011 1100

转换原理

在这里插入图片描述

代码演示

#include<iostream>
#include<bitset>
using namespace std;
int main(){
	unsigned int a=1;
	long long int b=-2;
//	b=a;
	//当a<0时,将a转化为长整型 ;为什么不用整形因为整形的范围太小 
	 //当a转换成为的二进制数不在符号位无数字时满足 
		//当a>0时,b==a; 
	a=b;////当b<0,将b转化为a也是一个很大的数字因为计算机存储数据是补码,所以a=b的补码所对的二进制数无符号位 
		 //当b>0时,a==b;
	if(a<b)	//这里有个隐式转化会把int转换unsigneg
		cout<<"a小于b"<<endl;
	else
		cout<<"a大于b"<<endl; 
	cout<<b<<endl;	
	cout<<a<<endl;   //4294967295
	bitset<32>bs(a);
	cout<<bs<<endl;
}

总结

当unsigned->int 
	//当a<0时,将a转化为长整型 ;为什么不用整形因为整形的范围太小 
	 //当a转换成为的二进制数时1不在符号位时满足 
		//当a>0时,b==a;

当int->unsigned
	a=b;////当b<0,将b转化为a也是一个很大的数字因为计算机存储数	
	据是补码,所以a=b的补码所对的二进制数无符号位 
		 //当b>0时,a==b;
无论是转化为int->unsigned还是unsigned->int
都是一样的操作就是先转化为补码,然后把补码赋给需要转换的类型
例如 unsigned i=-1;
补码:1111 1111 1111 1111 1111 1111 1111 1111
int b=i;
等价b=1111 1111 1111 1111 1111 1111 1111 1111;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无符号整形和有符号整形的比较 的相关文章

随机推荐

  • truffle 安装以及基本指令

    1 linux下安装方式 npm install g truffle 环境要求 NodeJS 5 0 Windows Linux 或Mac OS X 2 创建工程 mkdir testdir cd testdir truffle init
  • ChatGPT 原理与核心技术介绍(自然语言处理NLP的发展与Transformer的概念)

    文章目录 1 定义 ChatGPT与自然语言处理NLP 1 1 图灵测试 1 2 建模形式 多轮历史对话原理 1 3 NLP 的发展历程 规则 gt 统计 gt 强化学习 1 4 NLP 技术的发展脉络 1 5 ChatGPT 的神经网络结
  • 巧用枚举类型来管理数据字典

    巧用枚举类型来管理数据字典 文章目录 巧用枚举类型来管理数据字典 背景 管理数据字典方法 使用接口来管理数据字典 使用数据表管理数据字典 枚举的增强使用 枚举的优化策略 第一步优化 枚举继承接口 第二步优化 增加 Bean 存枚举值 使用享
  • apache mina 学习笔记之一:mina简介和环境搭建

    Mina简介 Apache MINA Multipurpose Infrastructure for Network Applications 是 Apache 组织一个较新的项目 它为开发高性能和高可用性的网络应用程序提供了非常便利的框架
  • 腾讯云图,让数据说话

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由腾讯云数据库 TencentDB发表于云 社区专栏 一 腾讯云图 数据之美 了解腾讯云图之前 我们先来看看数据可视化 这是星云图 他表示的是QQ同时在线人数 看到这个图大家脑袋
  • SSTI 无回显绕过_带外注入

    SSTI 无回显注入 带外注入 SSTI课程推荐 重庆橙子科技 SSTI模板注入 我在这里学到了很多 配合 docker 靶场 mcc0624 flask ssti 食用效果更佳 建议各位在学习带外时先基本掌握 TCP IP 的基础知识和
  • MyBatis查询时间格式转换yyyy-MM-dd HH:mm:ss

    MyBatis查询时间格式转换yyyy MM dd HH mm ss 一 通过配置model model private Date createTime JsonFormat pattern yyyy MM dd HH mm ss priv
  • 爬虫第六课:爬取携程酒店数据

    首先打开携程所有北京的酒店http hotels ctrip com hotel beijing1 简简单单 源代码中包含我们需要的酒店数据 你以为这样就结束了 携程的这些数据这么廉价地就给我们得到了 事实并不是如此 当我们点击第二页的时候
  • 怎么使用LINQ方法来比较自定义类型对象

    LINQ提供了方便的语法和很多操作对象集合的有用的方法 但是 要让LINQ比较方法如Distinct或Intersect能正确处理 类型必须要满足一些条件 让我们看看Distinct方法 它从集合中返回所有的不重复对象 List
  • 【我的面试-前端】以下是我在参加面试过程中被问到的问题以及答案

    JavaScript 数据类型 面试中经常被问到 JavaScript 数据类型都有哪些 有些时候面试者因为紧张连这最基础的题目都回答不出来或者回答不够全面 下面我们来具体了解下 JavaScript 数据类型吧 首先 需要答出 JavaS
  • 颜值超高的简单计算器(HTML+CSS+JS)

    先来看一下效果吧
  • k8s通过nfs-provisioner配置持久化存储

    一 nfs client provisioner简介 Kubernetes集群中NFS类型的存储没有内置 Provisioner 但是你可以在集群中为NFS配置外部Provisioner Nfs client provisioner是一个开
  • vue项目实现路由按需加载(路由懒加载)的3种方式

    vue项目实现按需加载的3种方式 转自 https segmentfault com a 1190000011519350 vue异步组件 es提案的import webpack的require ensure 1 vue异步组件技术 异步加
  • 修改本地host文件

    在有些时候可能因为访问一些网址的时候 可能因为浏览器对部分网站的签名不认可导致无法访问 根据浏览器不同 有时候可以选择高级选项允许访问 有时候只能停留在报错页 这时候可以通过设置本地的host文件 允许浏览器访问 首先我们找到目录C Win
  • VSCode HTML代码中怎么导入其他文件夹中的内容

    在标签下插入 link rel stylesheet href css xxx css 其中 css xxx css 为路径标签 意思是在一个叫做css的文件夹中有的一个叫xxx css的css样式文件
  • sqli-labs第二十六二十六a关

    这关油条加你的可以试试linux搭建sqlilabs这样比较简单 需要注意的 本关可能有的朋友在 windows 下无法使用一些特殊的字符代替空格 此处是因为 apache 的解析的问题 这里请更换到 linux 平台下 本关结合 25 关
  • 智能合约(一)————智能合约入门

    1 智能合约的基本组成 1 1 程序版本 1 2 合约声明 1 3 状态变量 1 4 合约方法 在这里constant相当于他声明这个局部变量不能更改 但是他并没有实际作用 实际就只是警示作用 2 地址adress address bala
  • GDB忽略SIGPWR和SIGCPU这两个信号

    用GDB 调试Java程序 陈皓 http blog csdn net haoel 背景 想要使用GDB调试程序 就需要用GNU的编译器编译程序 如 用GCC编译的C C 的程序 才能用GDB调试 对于Java程序也是一样的 如果想要用GD
  • 【嵌入式】7段数码管电路原理

    电路原理说明 中间的是F 小数点是G 上面的对应具体管 下面的代表各个大管 两两对应 上面4个为一个字节 有两个字节 下面直接为一个字节 要让某个数字亮起必须满足两个逻辑条件 对应的 LED SEL 必须为 0 低电频 代表对应笔画的 LE
  • 无符号整形和有符号整形的比较

    对无符号整形比较的错误认知 整形数据存储形式 进制的转换 原码 反码 补码 转换原理 代码演示 总结 整形数据存储形式 在计算机内存里 整数以补码形式存储 正数的补码即原码 进制的转换 原码 反码 补码 正数的原码 正数的反码 正数的补码