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

题目:

3.1
#include <stdio.h>
int main()
{char a = -128;printf("%u\n",a);return 0;
}3.2
#include <stdio.h>
int main()
{char a = 128;printf("%u\n",a);return 0;
}

思路分析:

  •  首先二者极其相似
  • %u是无符号格式进行打印,或者说打印无符号整数。
  • 这两题是有符号类型以无符号类型打印

上图是3.1的答案,在分析3.1之前我们首先要明白一个东西, char的取值范围。


char 的取值范围:

  • char在VS中相当于 signed char 是有符号的。
  • 有符号的表示在32位比特位中,最前面的一位是表示符号位,其中1表示负数,0表示正数,且符号位不参与进制转化的运算,只表示一个正负号
  • 因此,char的类型包括了正负数,且因为char只能用八个比特位表示,所以表达的方式也就是1和0在八个比特位中间的排列过程。

  •  上图是在内存中存储的,也就是说都是补码
  • 在经过计算后我们得到,有符号的char类型的范围是-128到127 

 3.1

以上是-128的原码、反码、补码,因为是char类型我们需要进行从右到左的截断。

 截断后因为需要打印成%u也就是打印成无符号整形,所以进行整形提升,因为截断后符号位是1,又因为是char类型,属于是有符号类型,所以看符号位进行补充,所以补1。

而补完后是补码,但是以%u形式打印无符号进行打印,因为是无符号,所以没有原反补的概念,所以直接打印这一串得出结果。
 


3.2

  •  首先char类型在vs中是默认有符号的。
  • 而有符号的char类型范围是-128~127,所以这个范围超了。
  • 但是我们需要把这个数据交给char a 因为是char类型,所以进行截断

 最后的过程和结果都和3.1一样 

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

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

相关文章

Qt点亮I.MX6U开发板的一个LED

本篇开始将会介绍与开发版相关的Qt项目&#xff0c;首先从点亮一个LED开始。I.MX6U和STM32MP157的相关信息都会用到&#xff0c;但是后期还是将I.MX6U的学习作为重点。当然其他开发版的开发也可以参考本博文。 文章目录 1. Qt是如何操控开发板上的一个LED2. 出厂内核设备树中注…

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

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

interview3-微服务与MQ

一、SpringCloud篇 &#xff08;1&#xff09;服务注册 常见的注册中心&#xff1a;eureka、nacos、zookeeper eureka做服务注册中心&#xff1a; 服务注册&#xff1a;服务提供者需要把自己的信息注册到eureka&#xff0c;由eureka来保存这些信息&#xff0c;比如服务名称、…

UMA 2 - Unity Multipurpose Avatar☀️八.UMA内置实用Recipes插件

文章目录 🟥 UMA内置Recipes位置🟧 CapsuleCollider🟨 Expressions : 表情管理(重点)🟩 Locomotion : 移动测试的插件🟦 Physics : Collider升级版🟥 UMA内置Recipes位置 如下图所示,UMA共内置5种实用Recipes,文件夹内的Text Recipes类型的文件即是实用Recipes. …

【Unity3D】UI Toolkit数据动态绑定

1 前言 本文将实现 cvs 表格数据与 UI Toolkit 元素的动态绑定。 如果读者对 UI Toolkit 不是太了解&#xff0c;可以参考以下内容。 UI Toolkit简介UI Toolkit容器UI Toolkit元素UI Toolkit样式选择器UI Toolkit自定义元素 本文完整资源见→UI Toolkit数据动态绑定。 2 数据…

科学中的人工智能:量子、原子和连续体技术概述

人工智能&#xff08;AI&#xff09;的进步正在推动自然科学领域的一种新的发现范式。如今&#xff0c;AI已经开始通过改进、加速和促进我们对各种空间和时间尺度上自然现象的理解来推动自然科学的发展&#xff0c;催生了一个被称为AI for science&#xff08;AI4Science&#…

VMware虚拟机安装运行MacOS系统

VMware虚拟机安装运行MacOS系统 1. VMware虚拟机安装运行MacOS系统1.1. 前期准备 2. 解锁虚拟机MacOS2.1. 解锁后效果 3. 开始安装MacOS系统3.1. 选择系统3.2. 虚拟机磁盘3.3. 镜像 4. 开机配置4.1. MacOS图标4.2. 磁盘4.2.1. 磁盘配置4.2.2. 抹掉数据 4.3. 安装系统4.3.1. 安装…

算法-27.移除元素-⭐

给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…

2022年09月 C/C++(八级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:道路 N个以 1 … N 标号的城市通过单向的道路相连:。每条道路包含两个参数:道路的长度和需要为该路付的通行费(以金币的数目来表示) Bob and Alice 过去住在城市 1.在注意到Alice在他们过去喜欢玩的纸牌游戏中作弊后,Bob和她分手…

UG\NX二次开发 选择基准平面 UF_UI_select_with_single_dialog

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介: 使用UF_UI_select_with_single_dialog函数,选择基准平面。 效果: 代码: #include "me.hpp"//过滤 基准平面 UF_datum_plane_type int InitProcDa…

用两成数据也能训练出十成功力的模型,Jina Embeddings 这么做

句向量&#xff08;Sentence Embeddings&#xff09;模型在多模态人工智能领域起着至关重要的作用&#xff0c;它通过将句子编码为固定长度的向量表示&#xff0c;将语义信息转化为机器可以处理的形式&#xff0c;在 文本分类、信息检索和相似度计算 等多个方面有着广泛应用。 …

End-to-end 3D Human Pose Estimation with Transformer

基于Transformer的端到端三维人体姿态估计 摘要 基于Transformer的架构已经成为自然语言处理中的常见选择&#xff0c;并且现在正在计算机视觉任务中实现SOTA性能&#xff0c;例如图像分类&#xff0c;对象检测。然而&#xff0c;卷积方法在3D人体姿态估计的许多方法中仍然保…