数据在内存中的存储——练习2

news2024/12/26 10:44:11

题目:


int main()
{
 char a= -1;
 signed char b=-1;
 unsigned char c=-1;
 printf("a=%d,b=%d,c=%d",a,b,c);
 return 0;
}

思路分析:

  • signed 是有符号的意思
  • unsigned是无符号的意思
  • 练习2是无符号类型以有符号类型打印

    注意:

  • char是有符号还是无符号是取决编译器的,在vs中char等价于signed char 
  • 而int在C语言中规定 int等价unsigned int
  • 只要是char类型不论是有符号,都是八个比特位  

 上图是-1的原码反码和补码。

char a=-1 与 signed char b =-1 

  • 因为在VS中char和signed char是一样的,所以二者结果一样。
  • 因为是char类型,只需要有八个比特位,所以需要进行截断

PS: 截断是指从右到左截断八个比特位。

  • 变量a和b因为类型是等价的,所以一样 
  • 而a和b的打印的格式是%d,%d是打印成有符号的整型,因为打印的格式是整型,所以需要进行整型提升
  • 因为截断后a的进制位中的符号位是1所以其余的全部补1补满32个比特位
  • 而这个提升后是补码,最后打印出来的是原码,所以需要补码转化为原码
  •  整型提升详情:http://t.csdn.cn/MzD7I

 

  • c也是一样进行截断 
  • c也需要就行提升
  • 但是c是无符号类型,而%d打印的是有符号类型的
  • 且无符号的数字在整形提升时全部补0,所以用0来补充到32位

同样,上图也是补码,所以也需要打印成原码, 但因为打印的是有符号整数,又因为最高的符号位是0,所以原反补是一样的,所以最后求出255。

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

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

相关文章

uni-app 前端项目(vue)部署到本地win系统Nginx上

若依移动端的项目:整合了uview开源ui框架, 配置后端请求接口基本路径地址: 打包复现到nginx下: 安装个稳定版本的:nginx-1.24.0 部署配置: 增加了网站:8083端口的, 网站目录在ngi…

C++面试/笔试准备,资料汇总

文章目录 后端太卷,建议往嵌入式,qt,测试,音视频,C一些细分领域投简历。有任何疑问评论区聊,我看到了回复 C面试/笔试准备,资料汇总自我介绍项目实习尽可能有1.编程语言:一.熟悉C语言…

玩转金融新“绿”潮,银行纷纷亮大招

在《开辟绿色金融新赛道,看银行如何“向绿而行”》内容中,我们带大家了解了商业银行绿色金融研究背景、规划与能力建设。今天,我们将继续带大家了解商业银行绿色金融实践路径中的绿色信贷产品、绿色债券产品及绿色投资。 在绿色金融实践中&a…

模板学堂|数据可视化仪表板大屏设计流程梳理

DataEase开源数据可视化分析平台于2022年6月正式发布模板市场(https://dataease.io/templates/)。模板市场旨在为DataEase用户提供专业、美观、拿来即用的仪表板模板,方便用户根据自身的业务需求和使用场景选择对应的仪表板模板&a…

数据在内存中的存储——练习1

题目: int main() {int a[4] { 1,2,3,4 };int* ptrl (int*)(&a 1);int* ptr2 (int*)((int)a 1);printf("%x,%x",ptr1[-1], *ptr2);return 0; } 思路分析: int* ptrl (int*)(&a 1); ptr1[-1] &a表示的是整个数…

Rapid普通版DVSSL

Rapid普通版DVSSL,是一种单域名SSL证书,很多人买的平台,比如阿里云、腾讯云可能比较贵。 所以公布一下目前Gworg售价是:190元/年,包括技术支持等其它服务。 1、可以帮助域名认证。 2、可以帮助配置SSL证书。 3、有…

ChatGPT AIGC 一分钟列举10个Xlookup案例,快速掌握

Xlookup函数是Excel新版本中的新出的一个函数功能涵盖Vlookup,Hlookup,index+match等相关功能。 `XLOOKUP` 是 Excel 中的一个功能强大的查找函数,它用于查找和返回一个值在数组或范围中的对应值。`XLOOKUP` 函数可以替代 `VLOOKUP` 和 `HLOOKUP`,并提供了一种更直观和灵活…

堆与栈的区别

OVERVIEW 栈与堆的区别一、程序内存分区中的堆与栈1.栈2.堆3.堆&栈 二、数据结构中的堆与栈1.栈2.堆 三、堆的深入1.堆插入2.堆删除:3.堆建立:4.堆排序:5.堆实现优先队列:6.堆与栈的相关练习 栈与堆的区别 自整理,…

重庆两融利率最低给到多少,利率可以调整吗?

​ 在金融市场中,融资融券是投资者常用的一种加杠杆的金融手段。在重庆地区,融资融券也是广泛应用的投资方式。融资是指投资者向券商借入资金进行股票交易,而融券则是指投资者向券商借入股票进行卖出交易。这两个交易方式都需要支付利息费用…

学习记忆——图像篇——图像记忆

一、图像记忆原理 我们要记忆的内容一般包括图像、声音、文字和 数字这几种,按由易到难的顺序将它们排列: 图像——声音——文字——数字 记忆材料 图像 二、超级记忆的基本方法 记忆的三种类型: 1、瞬间记忆 2、短期记忆 短效记忆、长效记…

LED显示屏控制软件发展历程

LED显示屏控制软件的发展历程经历了多个阶段,从最初的简单控制到今天的复杂、高度定制化的解决方案。免费提供户外led显示屏解决方案。 以下是LED显示屏控制软件的主要发展历程: 早期单机控制: 早期的LED显示屏控制软件通常是基于单台计算机的…

smallWhiteDot Tech Suppor

Preview mail: 352056038qq.com

【测试开发】 测试题总结

祝天天开心 文章目录 1. 测试用例编写2. 如何对bug进行描述3. bug状态转换4. 测试人员和开发人员产生争执5. 登录功能测试用例设计6. 测试生命周期7. 1. 测试用例编写 编写水杯的测试用例 注意,测试用例有一个万能公式 功能测试性能测试页面测试安全性测试兼容性测…

【FAQ】视频监控管理平台/视频汇聚平台EasyCVR安全检查相关问题及解决方法3.0

智能视频监控系统/视频云存储/集中存储/视频汇聚平台EasyCVR具备视频融合汇聚能力,作为安防视频监控综合管理平台,它支持多协议接入、多格式视频流分发,视频监控综合管理平台EasyCVR支持海量视频汇聚管理,可应用在多样化的场景上&…

重庆电建:数据中台建设探索与实践

“数字中国”建设浪潮下,强化数据能力、激发数据价值成为各行各业实现高质量发展的重要抓手和关键引擎。然而,确保数据质量、一致性和充分利用其价值,对中大型企业而言,依然具有挑战。数据中台,能够为这些难题提供有效…

Altium Designer如何查看制定了哪些快捷键?

随着时代高速发展,Altium Designer(AD)、Allegro、Pads等是全球主流的三大EDA软件,因此越来越多工程师被要求学习这些软件,在使用EDA软件设计PCB过程时,熟悉和合理配置快捷键是提高工作效率的关键之一&…

Cesium 地理坐标系和投影坐标系

Cesium 地理坐标系和投影坐标系 投影坐标系墨卡托投影(Mercator projection)高斯-克吕格投影(Gauss-Kruger)UTM投影(Universal Transverse Mercator)网络墨卡托投影(Web Mercator) 地…

​LeetCode解法汇总2596. 检查骑士巡视方案

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 骑士在一张…

接口测试 —— Requests库GET请求

Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求。 (不带参数的GET请求请看上一篇文章的练习) 1、Requests库待参数的GET请求 使用Get方法带参数请求时,是params参数字典,而不是data参数字典。data参数字典…

苹果2023发表会:四款产品一次看完

本次新品发布会中,苹果更新了Apple Watch和iPhone两款产品。包含Apple Watch S9、Apple Watch Ultra 2,以及iPhone 15 / iPhone 15 Plus 和高阶款的iPhone 15 Pro / iPhone 15 Pro Max。 以下为你汇整了2023 苹果秋季发布会( iPhone 15 发表…