错题记录2:源码补码二进制转换

news2024/9/27 7:25:00

 补码原码二进制一直是本人比较头疼的问题,今日找题目来做发现还是错得多,记录以下,再回顾一遍。

1.如下代码输出的是什么( )

char a=101;
int sum=200;
a+=27;sum+=a;
printf("%d\n",sum);

A: 327

B: 99

C: 328

D: 72
 


答案:D

解析“:char作为一个字节的类型,它的二进制存储就是8个比特位也就是:0000 0000,这8个比特位的最高位是符号位,那么char能存储数据的范围就从2^8 =256(0-256)变成了了2^7=128(-128 - 127)

那么a = 101再加上一个27,就是128,128表示为1000 0000,作为补码放在内存中,符号位为1
在与int类型的sum进行加计算时会整型提升,高位补充当前符号位的值直到32位,也就是1,我们用计算器打出来看看

也就是现在内存里面存放的是-128,200-128=72,故答案选D。

总结一下:错的契机在于整型提升的时机和截断这一部分还是没有弄懂,存放在内存中的补码,打印出来的原码,这些都是不一样的,不要再次弄混。

2.对于下面代码执行后输出的是什么( )

int value = 1024;
char condition = *((char*)(&value));
if(condition) value += 1;
 condition = *((char*)(&value));

if(condition) value += 1; 
condition = *((char*)(&value));

printf("%d %d", value, condition);

A: 1026 1

B: 1025 0

C: 1025 1

D: 1024 0


正确答案:D

解析:这道题主要的难处就是在这个*((char*)(&value));上面,我们一个个来看。

首先是&value,取出value的地址,然后强制类型转换成char*类型,而char*类型的指针变量每一次只访问1个字节若数据是采用大端存储方式,则低地址对应的是数据的高位,即最左边的8位0,则condition=0,不执行两
个if语句,则value不变,还是1024;若数据是采用小端存储方式,则低地址对应的是数据的低位,即最右边的8位0,则condition=0,不执行两个if语句,value值还是1024


 

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

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

相关文章

【MySQL】详解MySQL数据库事务

MySQL数据库事务数据库事务特性事务的并发问题事务的隔离级别分布式事务解决方案1.XA 协议2.TCC3.消息一致性方案4.阿里云中的全局事务服务 GTS数据库事务特性 数据库事务具备ACID四大特性: 原子性:是指事务操作时具备原子操作的,就是说整…

分布式系统架构

分布式系统定义 分布式系统:硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。 为什么需要分布式系统 提升系统吞吐量:集群协同解决单机性能瓶颈提高系统可用性 :冗余部署,各…

OSS阿里云存储

一、开通“对象存储OSS”服务 2、进入管理控制台 二、控制台使用 点击Buket列名,Buket可以看作是一系列的虚拟内存空间它是一个独立的小个体 创建mystudent 创建成功后就有下面的样子了 ,创建的时候读写权限,我们选择公共读&#xff0c…

matlab中sign函数的使用(提取符号)

仅用于记录自己学习过程中遇到的函数 matlab中sign函数的使用,提取符号 一、语法 Y sign(x) 返回与 x 大小相同的数组 Y,其中 Y 的每个元素是: 1,前提是 x 的对应元素大于 0。 0,前提是 x 的对应元素等于 0。 -1&am…

CAP定理与分布式事务理论

文章目录一、CAP定理1.1 一致性1.2 可用性1.3 分区容错1.4 定理的矛盾点二、分布式事务理论2.1 BASE理论2.2 解决分布式事务思路一、CAP定理 分布式系统有三个指标。 Consistency(一致性)Availability(可用性)Partition toleranc…

GBASE斩获2022科技赋能金融业数字化转型突出贡献奖

12月27日,由中国人民银行主管的《金融电子化》杂志社主办的“2022中国金融科技年会暨第十三届金融科技应用创新奖颁奖典礼”成功举办,在本次活动上,GBASE南大通用“多模多态分布式数据库GBase 8c”,荣获“2022科技赋能金融业数字化…

PyCharm高级配置

pycharm设置内存大小步骤1,Help -> FindAction -> (输入 “VM”) -> (点击)“Edit Custom VM options”2,Pycharm会在编辑器中打开适当的vmoptions文件(pycharm.vmoptions或pycharm64.options)。3,将**-Xms**…

CCIE重认证350-401

拖图题 QoS traffic policing: causes TCP retransmissions when traffic is dropped导致TCP重传时流量下降 introduces no delay and jitter引入无延迟和抖动 drops excessive traffic减少过多的流量 traffic shaping: buffers excessive traffic缓冲过多的流量 introduce…

Sensor+ISP专栏-Demosaic

SensorISP专栏-Demosaic 1.what is raw raw图指的是从cmos sensor直接输出的原始图像,它本身没有颜色分量。在CMOS Sensor中使用彩色滤镜阵列(color filter array,CFA) 的方式捕获彩色图像,每个感光像素的上面覆盖一个语物理像素相同面积大…

OpenStack-Mitaka版本部署

1.环境准备 centos7.2相关文件 镜像:https://mirrors.aliyun.com/centos-vault/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso?spma2c6h.25603864.0.0.5c565932JYniuU openstack-mitaka rpm包:https://mirrors.aliyun.com/centos-vault/7.2.15…

hadoop 3.x 案例7: hadoop大数据平台日志

文章目录一. Hadoop日志1.1 namenode日志1.2 datanode日志1.3 secondarynamenode日志1.4 yarn日志1.4.1 resourcemanger日志1.4.2 nodemanager日志1.5 historyServer日志二. Hive日志三. Spark日志四. Flink日志一. Hadoop日志 cd $HADOOP_HOME/logs日志分类: namenode日志 d…

【ROS】—— ROS通信机制进阶(七)

文章目录前言1. 常用API(C)1.1 初始化1.2 话题与服务相关对象1.3 回旋函数(重点)1.4 时间1.4.1 获取当前时刻and指定时刻1.4.2 持续时间1.4.3 时间运算1.4.4 设置运行频率1.4.5 定时器1.5 其他函数2. 常用API(python)2.1 初始化2.2 话题与服务相关对象2.3 回旋函数2.4 时间2.4.…

Bandit算法学习[网站优化]02——epsilon-Greedy 算法

Bandit算法学习[网站优化]02——epsilon-Greedy 算法 参考资料 White J. Bandit algorithms for website optimization[M]. " O’Reilly Media, Inc.", 2013.https://github.com/johnmyleswhite/BanditsBook 实验环境:jupyter python 3.7 项目地址&am…

twrp Xposed zip包脚本定制全解析

声明:本文不对印刷机导致的任何结果承担责任,请谨慎尝试 想要研究一个新技术,最好的办法就是read the fuck source code,读源码时最直接高效的方式,当然,这很难啃,所以通常也可以配合网上一些教程来理解,但是通常,值钱的技术一般人是不会在网上发布的,因为技术的价值就…

大厂必备Stream流、方法引用的使用

大厂必备Stream流、方法引用的使用 1 Stream的基本使用 1.1 思想 当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个“模型”步骤方案,然后再按照方案去执行它。【流水线】 …

spring源码-容器refresh

spring源码 铺垫 1.xml信息封装 我们可以预测的大致顺序 xml里的bean 封装成对象定义信息更容易进一步的 创建 注入 BeanDefinition的属性:可以看出是对xml里信息的封装 public interface BeanDefinitionReader 定义规范2.使用反射 为什么不用new创建对象&#x…

NXP EMDA学习(1):TCD寄存器详解

eDMA(Enhanced DMA)即增强型DMA,它是NXP芯片中独有的功能,其最重要的一个特性也是eDMA的核心就是TCD(Transfer Control Descriptor)即传输控制描述符。所以,我们就来看一下这个结构体中各个字段的内容的含义,对这些字段有一个基础…

位置检测有哪些传感器可以用?(带磁编码器AS5600代码)

常见的有三种 编码器、霍尔传感器、磁传感器。 编码器一般指AB相正交脉冲的增量器件,有的还会有一个Z相信号,用来指示零位; 霍尔传感器一般是指ABC三个成120度角度间隔排列的器件,这种传感器一般集成在电机内部,电机…

[Amazon]人工智能入门学习笔记---AI-机器学习-深度学习

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪 (*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &a…

基于模型预测控制的波浪能转换器(WEC)研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…