C语言第十六集(前)

1.关于那个整形存储入char的

是先取好补码,再截断

例:

2.%u是以十进制的形式打印无符号整数

3.注意(背):存储的char类型变量的补码为10000000的直接解析为-128

4.signed char 类型的变量取值范围是-128~127

5.unsigned char 类型的变量取值范围是0~255

6.有符号类型的变量发生整形提升时,是按照它自己的最高位进行整形提升,而后才会选择去打印(即而后才看打印的   %?   对它的影响)

7.自己悟:

图12345678搜

8.观摩:

总之,注意好那个无符号以及截断的特别

9.在小端环境下,int   的   1   计入内存中是   (十六进制表示)   (低地址)   01 00 00 00   (高地址)   ,   (低地址)   02是02 00 00 00   (高地址)

10.1E12表示的是1乘以10的12次方(已测过)

11.任意一个浮点数可以表示为这样的形式搜:

(数)V=(-1)^s*M*2^E
(-1)^s表示符号位,当S=0,V为正数;当S=1,V为负数
M 表示有效数字,M大于等于1且小于2
2^E表示指数位

12.将十进制的一个数字换位为二进制

例:

5.5换为101.1(前换前,后换后)

二进制的101.1可以用科学计数法化为1.011*2^2,根据国际标准,可以表示为:

(-1)^0 * 1.011 * 2^2

但是对于另一个例子:3.14,人为来配可能很难配

13.而十进制转二进制另另一个例题搜

14.对于float类型的和double类型的存储方式的不完全相同搜:

15.存储浮点型数据:在存储M时,默认这个数的第一位总是1,因此可以被舍去,只保存后面的XXXXXX部分。比如说保存1.01的时候,只保存后边的01,等到读取的时候,再把第一位的1加上去。这样做的目的是节省1位有效数字。以32位浮点数为例,留给M只有23位,而将第一位的1舍去以后,等于可以保存24位有效数字。

存储E时,因为E为一个无符号整数(unsigned int),那么如果E为8位,它的取值范围就为0~255;如果E为11位,它的取值范围就是0~2047。但科学计数法中的E是可以为负数的,所以IEEE 754规定存入内存时E的真实值必须再加上一个中间数,对于8位的E这个中间数是  127  ;对于11位的E,这个中间数是  1023  。比如,2^10的E是10,所以保存成32位浮点数时,必须保存成10+127=137,即10001001。

所以5.5的二进制序列就是:0   10000001 01100000000000000000000(1   8   23位)(不够的话补零)

//还原是还原为1.01100000000000000000000(1   23   位)

而0100 0000 1011 0000 0000 0000 0000 0000

换为16进制:40 B0 00 00(在内存中如果是小端存储则显示为00 00 b0 40)

16.浮点型从内存中的取出搜:

大概知道下浮点型的存储和取出即可

17.关于浮点型的存储和取出和整数的存储和取出转化的一个例题搜:

18.有些浮点数在内存中无法精确保存

19.正确比较浮点数的方式搜:

20.

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

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

相关文章

【C/PTA —— 15.结构体2(课外实践)】

C/PTA —— 15.结构体2&#xff08;课外实践&#xff09; 7-1 一帮一7-2 考试座位号7-3 新键表输出7-4 可怕的素质7-5 找出同龄者7-6 排队7-7 军训 7-1 一帮一 #include<stdio.h> #include<string.h>struct student {int a;char name[20]; };struct student1 {int …

[⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记

前言 DPD 数字预失真技术&#xff0c;是一种用于抑制功率放大器非线性失真的方法。 它通过在信号输入功率放大器&#xff08;PA&#xff09;之前插入一个预失真模块&#xff0c;对输入信号进行适当的调制&#xff0c;以抵消功率放大器引起的非线性失真&#xff0c;使功率放大器…

JAVA常用队列

阻塞队列介绍 Queue接口 public interface Queue<E> extends Collection<E> { //添加一个元素&#xff0c;添加成功返回true, 如果队列满了&#xff0c;就会抛出异常 boolean add(E e); //添加一个元素&#xff0c;添加成功返回true, 如果队列满了&#xff0c;返回…

主动而非被动:确保网络安全运营弹性的途径

金融部门处理威胁的经验对网络安全领域的任何人都有启发——没有什么可以替代提前摆脱潜在的风险和问题。 从狂野西部的银行劫匪到勒索软件即服务 (RaaS)&#xff0c;全球金融生态系统面临的威胁多年来发生了巨大变化。技术进步带动了金融业的快速发展&#xff0c;从现金交易到…

相控阵天线(十四):常规大阵列天线分布(椭圆阵列、三角阵列、矩形拼接阵列、栅格拼接阵列)

目录 简介椭圆阵列三角阵列子阵拼接的矩形阵列子阵拼接的圆形阵列圆形子阵拼接阵列子阵栅格拼接阵列 简介 前面的博客已经介绍过常见的平面阵有一些基本类型&#xff0c;本篇博客介绍一些实际工程中可能出现的阵列&#xff0c;包括椭圆阵列、子阵通过矩形拼接形成的矩形大阵列…

QT Windos平台下打包应用程序

一、windeployqt.exe windeployqt&#xff1a;是 Qt 框架自带的一个工具&#xff0c;用于将一个 Qt 应用程序在 Windows 操作系统下进行打包。它可以通过扫描应用程序的依赖项获取所需的 Qt 库文件、插件和翻译文件&#xff0c;以及复制应用程序可执行文件和所需的依赖项到指定…

CTF刷题记录

刷题 我的md5脏了KFC疯狂星期四坤坤的csgo邀请simplePHPcurl 我的md5脏了 g0at无意间发现了被打乱的flag&#xff1a;I{i?8Sms??Cd_1?T51??F_1?} 但是好像缺了不少东西&#xff0c;flag的md5值已经通过py交易得到了&#xff1a;88875458bdd87af5dd2e3c750e534741 flag…

公众号提高数量

一般可以申请多少个公众号&#xff1f;目前公众号申请数量的规定是从2018年底开始实施的&#xff0c;至今没有变化。规定如下&#xff1a;1、个人可以申请1个个人主体的公众号&#xff1b;2、企业&#xff08;有限公司&#xff09;可以申请2个公众号&#xff1b;3、个体户可以申…

uView框架的安装与Git管理

参考链接&#xff1a;Http请求 | uView - 多平台快速开发的UI框架 - uni-app UI框架 安装 打开我们项目的cmd进行下载&#xff1a; yarn add uview-ui 首先我们要确定&#xff0c;未下载前的文件目录以及下载后&#xff0c;是多了个文件目录node_modules 下载完成之后我们就…

Leetcode—219.存在重复元素II【简单】

2023每日刷题&#xff08;五十三&#xff09; Leetcode—219.存在重复元素II 实现代码 class Solution { public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> m;int n nums.size();for(int i 0; i < n; i) {if(m…

【无线网络技术】——无线个域网(学习笔记)

&#x1f4d6; 前言&#xff1a;手机、PC机、电视等消费类产品非常普及&#xff0c;人们希望有一种短距离、低成本、小功耗的无线通信方式&#xff0c;实现不同功能单一设备的互联&#xff0c;提供小范围内设备的自组网机制&#xff0c;并通过一定的安全接口完成自组小网与广域…

AI自动生成代码工具

AI自动生成代码工具是一种利用人工智能技术来辅助或自动化软件开发过程中的编码任务的工具。这些工具使用机器学习和自然语言处理等技术&#xff0c;根据开发者的需求生成相应的源代码。以下是一些常见的AI自动生成代码工具&#xff0c;希望对大家有所帮助。北京木奇移动技术有…