无符号整数和带符号整数的相互转换

无符号字符数x转换为带符号字符数时,当x<2^{7}时,转换后仍然为x;当x\geq2 ^{7}时,转换后变为x-2^{8}

带符号字符数y转换为无符号字符数时,当y<0时,转换后变为y\dotplus 2^{8};当y\geq 0时,转换后仍然为y。

无符号整数和带符号整数的相互转换,实质上就是类型的强制转换。

源程序

void utosfun( unsigned char u[], char *pt1 );
void stoufun( char s[],unsigned char *pt2 );


void main()
{
    unsigned char ux[2]={9,129},syu[2],fsyu[2];
    char sy[2]={2,-2},uxs[2],fuxs[2];
    int i;
    utosfun(ux,uxs); 
    stoufun(sy,syu);
    for(i=0;i<2;i++)
     fsyu[i]=(unsigned char)sy[i]; //强制类型转换
    for(i=0;i<2;i++)
     fuxs[i]=(char)ux[i];  //强制类型转换
    while(1);

}


/**无符号数转换为带符号数**/
void utosfun( unsigned char u[], char *pt1 )
{
    int j,n=2;
    for(j=0;j<2;j++)
    {
     if(u[j]<(n<<7))
        pt1[j]=u[j];
     else
        pt1[j]=u[j]-(n<<8);
  }
}


/**带符号数转换为无符号数**/
void stoufun(char s[], unsigned char  *pt2)
{
    int k,n=2;
    for(k=0;k<2;k++)
    {
     if(s[k]<0)
        pt2[k]=s[k]+(n<<8);
     else
        pt2[k]=s[k];
  }
}

程序运行后:

带符号字符数组sy[]元素转换为无符号字符数后存放在数组syu[]中;数组sy[]元素强制转换为无符号字符数后存放在数组fsyu[]中。syu[]与fsyu[]元素相同。

无符号字符数组ux[]元素转换为带符号字符数后存放在数组uxs[]中;数组ux[]元素强制转换为带符号字符数后存放在数组fuxs[]中。uxs[]和fuxs[]元素相同。


    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浏览器报错:无法访问此网站 无法找到xxx.xxx.net的DNS地址。正在诊断该问题。尝试运行Windows网络诊断。DNS_PROBE_STARTED

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;希望我的文章能帮到您&#x1f7ea;如有兴趣可点关注了解更多内容 &#x1f4d8;博主信息 点击标题&#x1f446;有惊喜 &#x1f4c3;文章前言 &#x1f537;文章均为学习和工作中整理的笔记&#xff0c;分享记录…

2025-02-18 学习记录--C/C++-PTA 7-25 念数字

一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ /*** 输入一个整数&#xff0c;输出每个数字对应的拼音。当整数为负数时&#xff0c;先输出fu字。*/#include <stdio.h>// 输出 正数 中 各位数 对应的 拼音 void getLetter(int num) {// 10个数字&#x…

VirtualBox 中使用 桥接网卡 并设置 MAC 地址

在 VirtualBox 中使用 桥接网卡 并设置 MAC 地址&#xff0c;可以按照以下步骤操作&#xff1a; 步骤 1&#xff1a;设置桥接网卡 打开 VirtualBox&#xff0c;选择你的虚拟机&#xff0c;点击 “设置” (Settings)。进入 “网络” (Network) 选项卡。在 “适配器 1” (Adapt…

Fiddler笔记

文章目录 一、与F12对比二、核心作用三、原理四、配置1.Rules:2.配置证书抓取https包3.设置过滤器4、抓取App包 五、模拟弱网测试六、调试1.线上调试2.断点调试 七、理论1.四要素2.如何定位前后端bug 注 一、与F12对比 相同点&#xff1a; 都可以对http和https请求进行抓包分析…

【数据结构初阶第十节】队列(详解+附源码)

好久不见。。。别不开心了&#xff0c;听听喜欢的歌吧 必须有为成功付出代价的决心&#xff0c;然后想办法付出这个代价。云边有个稻草人-CSDN博客 目录 一、概念和结构 二、队列的实现 Queue.h Queue.c test.c Relaxing Time&#xff01; ————————————《有没…

idea无法联网,离线安装插件

插件地址&#xff1a;https://plugins.jetbrains.com/ JetBrains Marketplace 如果无法进入&#xff0c;可以试试 配置hosts 3.163.125.103 plugins.jetbrains.com ip 变了&#xff0c;可以查询个最新的&#xff1a; https://tool.chinaz.com/speedtest/plugins.jetbrai…

二十多年前的苹果电源Power Mac G4 Mdd 电源接口

在1999年&#xff0c;苹果推出了最初的Power Mac G4电脑。第一代Power Mac G4有与G3系列相似的外壳和两种主板设置&#xff0c;分别使用PCI和AGP显示总线。第二代电脑被昵称为快银或水银机&#xff0c;来自2001年的它们有更高速的PowerPC 7450系列芯片&#xff0c;增强了L2缓存…

qt:按钮的常见操作(简单方向键项目)

1.圆形按钮 首先&#xff0c;设置圆形按钮&#xff0c;首先要将setGeometry(x位置&#xff0c;y位置&#xff0c;长&#xff0c;宽)中的长和宽设置为相等&#xff0c;再使用一下模板 q2->setStyleSheet("QPushButton {"" background-color: black;"…

SAP-ABAP:外部断点设置详解

在 SAP 中打外部断点&#xff08;External Breakpoint&#xff09;是调试 ABAP 程序的一种常用方法&#xff0c;尤其是在调试标准程序、增强或用户出口时。外部断点允许开发人员在特定用户或特定会话中触发断点&#xff0c;而不会影响其他用户。以下是使用外部断点时需要注意的…

springboot399-中文社区交流平台(源码+数据库+纯前后端分离+部署讲解等)

&#x1f495;&#x1f495;作者&#xff1a; 爱笑学姐 &#x1f495;&#x1f495;个人简介&#xff1a;十年Java&#xff0c;Python美女程序员一枚&#xff0c;精通计算机专业前后端各类框架。 &#x1f495;&#x1f495;各类成品Java毕设 。javaweb&#xff0c;ssm&#xf…

(9/100)每日小游戏平台系列

项目地址位于&#xff1a;小游戏导航 新增一个跳跃小方块&#xff01; 游戏简介 跳跃小方块&#xff08;Jumping Square&#xff09;是一款轻松有趣的休闲小游戏&#xff0c;考验玩家的反应速度和操作技巧。玩家需要控制一个蓝色小方块&#xff0c;通过点击屏幕或按下空格键进…

React实现自动滚动表格

在 React 中实现一个自动滚动的表格&#xff0c;可以通过 CSS 动画和 JavaScript 定时器来实现。以下是一个完整的示例代码&#xff0c;包含示例数据和自动滚动功能。 实现思路&#xff1a; ** 自动滚动&#xff1a;** 使用 setInterval 实现表格的自动滚动。 手动滚动&…

数字滤波器的设计实现及应用(论文+仿真)

3.1系统总体设计 对于本次毕业设计的课题基于DSP的IIR数字滤波器来说&#xff0c;在此选用了TI公司的DSP芯片TMS320F5402芯片来作为数字滤波器的主控制器&#xff0c;另外再采用高速AD模拟到数字转换芯片来进行输入信号的采样&#xff0c;以此将采集到的信号输出给主控制器进行…

Blackbox.AI:高效智能的生产力工具新选择

前言 在当今数字化时代&#xff0c;一款高效、智能且功能全面的工具对于开发者、设计师以及全栈工程师来说至关重要。Blackbox.AI凭借其独特的产品特点&#xff0c;在众多生产力工具中脱颖而出&#xff0c;成为了我近期测评的焦点。以下是我对Blackbox.AI的详细测评&#xff0…

Ollama DeepSeek + AnythingLLM 实现本地私有AI知识库

Ollama DeepSeek AnythingLLM 实现本地私有AI知识库 本地部署DeepSeek-r1下载安装AnythingLLMAnythingLLM 配置LLM首选项Embedder首选项向量数据库工作区其他配置 AnythingLLM Workspace使用上传知识词嵌入知识检索 本文主要介绍了如何使用AnythingLLM结合Ollama部署的DeepSee…

用 Python 实现 DeepSeek R1 本地化部署

DeepSeek R1 以其出色的表现脱颖而出&#xff0c;不少朋友想将其本地化部署&#xff0c;网上基于 ollama 的部署方式有很多&#xff0c;但今天我要带你领略一种全新的方法 —— 使用 Python 实现 DeepSeek R1 本地化部署&#xff0c;让你轻松掌握&#xff0c;打造属于自己的 AI…

在Windows和Linux平台上使用c++获取文件当前路径

.h #include <iostream> #include <string> #ifdef _WIN32 #include <windows.h> // 包含Windows API定义 #else #include <limits.h> // 为了PATH_MAX #include <unistd.h> // 为了getcwd #endif // _WIN32 using namespace std; #ifdef _WIN…

LabVIEW 中的 3dgraph.llb库

3dgraph.llb 库位于C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform目录下&#xff0c;是 LabVIEW 系统里用于 3D 图形相关操作的关键库。它为 LabVIEW 用户提供众多功能&#xff0c;可在应用程序内创建、显示和交互各类 3D 图形&#xff0c;极大增…

【linux】更换ollama的deepseek模型默认安装路径

【linux】更换ollama的deepseek模型默认安装路径 文章目录 【linux】更换ollama的deepseek模型默认安装路径Ollama 默认安装路径及模型存储路径迁移ollama模型到新的路径1.创建新的模型存储目录2.停止ollama3.迁移现有模型4.修改 Ollama 服务配置5.重启ollama6.验证迁移是否成功…

【学习】验证数独的正确性

源于面试的一个问题&#xff0c;在leetcode里也有这道题&#xff0c;参考站内的一篇文章。 首先此问题的分析需要满足三个约束条件&#xff1a; 每行不能有重复的数每列不能有重复的数每个3*3的方格中不能有重复的数 其中前两个约束条件都是容易满足的&#xff0c;关键在第三…