无符号数和有符号数的转换

1、有符号数转换成无符号数

1.1 例一

 首先,我们需要清楚  C语言中负数是以补码的形式进行存储的。

示例:负数-1, (此处,假设是8位二进制表示)
对应正数的原码:0000 0001;
取反: 1111 1110;
加1: 1111 1111;
最终,-1是以1111 1111的形式进行存储的。及-1的无符号数对应的是255

 

1.2 例二

short int v = -12345;
unsigned short uv = (unsigned short)v;
printf("v = %d, uv = %u\n",v,uv);

在一台采用补码的机器来说,上述代码会产生如下输出:
v = -12345, uv = 53191

2、无符号数转换成有符号数 

#include <stdio.h>
int main()
{short int v = -12345;unsigned short uv = (unsigned short)v;short int res=uv-65536;printf("v = %d, uv = %u res =%d \n",v,uv,res);return 0;
}

3、总结

有符号转无符号,则有符号数  加上(2^最大位数)

无符号转有符号,则有符号数  减去(2^最大位数)

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

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

相关文章

通俗易懂多图透彻讲解二叉树的遍历--前序, 中序和后序

二叉树的遍历是一个数据结构中经常会遇到的知识点, 具体又分为前序, 中序和后序三种. 什么是树? 先来理解一下什么是树, 从一个我们相对熟悉的家谱树(Family Tree)说起吧. 家族的根是爷爷, 然后生了两个娃, 大伯和你爸爸. 继续往下, 有堂哥堂姐, 还有你以及你妹, 等等. 一个…

简化流程,强化协作——揭秘可道云TeamOS文档审批的实用魅力

在团队协作的过程中&#xff0c;文档审批是确保信息安全和流程规范的重要环节。然而&#xff0c;传统的文档审批流程往往繁琐且僵化&#xff0c;难以满足团队快速响应和灵活协作的需求。 可道云teamOS的文档审批功能&#xff0c;以其独特的灵活性和便捷性&#xff0c;为团队带…

吸血鬼之恋

吸血鬼之恋 AI制作&#xff0c;吸血鬼之恋&#xff0c;BGM选自《暮光之城》&#xff0c;希望大家喜欢。 欢迎你分享你的作品到我们的平台上&#xff1a;http://www.shxcj.com 或者 www.2img.ai 让更多的人看到你的才华。 创作不易&#xff0c;觉得不错的话&#xff0c;点个赞吧…

c++字符串实现join方法,使用模板

c字符串实现join方法&#xff0c;使用模板 主要记录下类成员函数&#xff0c;申明为模板函数的写法 注意定义迭代器时&#xff0c;前面需要加上typename关键字 typename std::vector<T>::iterator it;#pragma once #include <vector> #include <string>clas…

java——Junit单元测试

测试分类 黑盒测试&#xff1a;不输入代码&#xff0c;给输入值&#xff0c;看程序能够给出期望的值。 白盒测试&#xff1a;写代码&#xff0c;关注程序具体执行流程。 JUnit单元测试 一个测试框架&#xff0c;供java开发人员编写单元测试。 是程序员测试&#xff0c;即白…

PBT激光穿透率测量仪

在现代材料科学与工业制造领域&#xff0c;激光技术以其高精度、高效率和非接触性等特点&#xff0c;成为了不可或缺的测量与加工手段。其中&#xff0c;PBT&#xff08;聚对苯二甲酸丁二醇酯&#xff09;作为一种重要的热塑性工程塑料&#xff0c;因其优异的机械性能、耐热性和…

嵌入式全栈设计思路:STM32G4+ChibiOS+FreeRTOS+PID控制+PFC算法构建高效智能电源管理系统(附代码示例)

智能电源管理系统是一个基于STM32G4微控制器的高性能数字电源控制解决方案。本项目旨在设计一个功能全面、高效稳定的电源管理系统,可广泛应用于工业控制、新能源、通信设备等领域。 1.1 系统主要特点 高精度数字电源控制&#xff1a;利用STM32G4的高性能ADC和定时器,实现精确…

HTML5+CSS3小实例:纯CSS实现奥运五环

实例:纯CSS实现奥运五环 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…

Spring MVC中Restful风格引入

一&#xff0c;RESTful概述 在现代Web应用开发中&#xff0c;RESTful架构风格已成为一种标准实践&#xff0c;特别是在构建可扩展的Web服务时。Spring MVC提供了全面的支持来构建遵循REST原则的Web服务。我在此介绍如何在Spring MVC中实现RESTful风格的Web服务&#xff0c;并通…

【八大排序】java版(上)(冒泡、快排、堆排、选择排序)

文章目录 一、冒泡排序(重点)思路代码 二、快排(面试重点)思路代码 三、堆排序(面试重点)思路代码 四、选择排序思路代码 一、冒泡排序(重点) 思路 前后两两数据进行比较&#xff0c;小的数据往前走&#xff0c;大的数据往后走&#xff0c;每一轮结束之后&#xff0c;最大的数…

网页数据抓取:融合BeautifulSoup和Scrapy的高级爬虫技术

网页数据抓取&#xff1a;融合BeautifulSoup和Scrapy的高级爬虫技术 在当今的大数据时代&#xff0c;网络爬虫技术已经成为获取信息的重要手段之一。Python凭借其强大的库支持&#xff0c;成为了进行网页数据抓取的首选语言。在众多的爬虫库中&#xff0c;BeautifulSoup和Scrap…

在Android Jetpack Compose中实现夜间模式

在Android Jetpack Compose中实现夜间模式 随着用户对夜间模式需求的增加,Android开发者需要掌握如何在应用中实现这一功能。Jetpack Compose作为现代Android UI工具包,提供了简便且灵活的方式来实现夜间模式。本文将详细介绍如何在Jetpack Compose中实现夜间模式,包括配置…

Linux系统之玩转fortune命令

Linux系统之好玩的fortune命令 一、fortune命令介绍1.1 fortune简介1.2 fortune中英文 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本 四、fortune英文版的使用4.1 安装fortune英文版4.2 命令帮助4.3 fortu…

69、Flink 的 DataStream Connector 之 Kafka 连接器详解

1.概述 Flink 提供了 Kafka 连接器使用精确一次&#xff08;Exactly-once&#xff09;的语义在 Kafka topic 中读取和写入数据。 目前还没有 Flink 1.19 可用的连接器。 2.Kafka Source a&#xff09;使用方法 Kafka Source 提供了构建类来创建 KafkaSource 的实例。以下代…

安卓手机刷入Magisk面具教程

手机如果想获取 Root 权限&#xff0c;刷入面具是必要的做法。本期文章将会教你如何刷入 Magisk 面具。 准备工作 Magisk: 关注微信公众号 heStudio Community回复 magisk 获取下载链接。第三方 Recovery&#xff08;官方 Recovery 能玩出什么花样&#xff1f;&#xff1f;&a…

PDM系统:企业产品数据管理、PDM系统哪个好

PDM系统&#xff1a;企业产品数据管理、PDM系统哪个好 在当今这个数据驱动的时代&#xff0c;企业产品数据管理&#xff08;PDM&#xff09;系统已成为企业提升竞争力、加速产品创新、优化生产流程的关键工具。PDM系统不仅是一个技术平台&#xff0c;更是企业实现数字化转型的重…

防火墙负载分担,带宽策略

一、实验拓扑图 二、实验要求 12&#xff0c;对现有网络进行改造升级&#xff0c;将当个防火墙组网改成双机热备的组网形式&#xff0c;做负载分担模式&#xff0c;游客区和DMZ区走FW3&#xff0c;生产区和办公区的流量走FW1 13&#xff0c;办公区上网用户限制流量不超过100M&a…

昇思25天学习打卡营第23天|基于MobileNetv2的垃圾分类

基于MobileNetv2的垃圾分类 1、实验目的 了解熟悉垃圾分类应用代码的编写&#xff08;Python语言&#xff09;&#xff1b;了解Linux操作系统的基本使用&#xff1b;掌握atc命令进行模型转换的基本操作。 2、MobileNetv2模型原理介绍 MobileNet网络是由Google团队于2017年提…

在 Debian 12 上安装 budgie-extras-common 包

在 Debian 12 上安装 budgie-extras-common 包&#xff1a; 安装前的准备 更新 apt 数据库&#xff1a; 使用 apt-get:sudo apt-get update或者使用 apt:sudo apt update如果使用 aptitude&#xff08;通常不在 Debian 默认安装中&#xff09;&#xff0c;首先需要安装它&…