数据的存储(进阶)下

简介: 笔记

浮点数如何往出拿

E不全为0或不全为1

这时,浮点数就采用下面的规则表示,即指数 E 的计算值减去 127 (或 1023 ),得到真实值,再将

有效数字 M 前加上第一位的 1 。

比如:

0.5(1/2)的二进制形式为0.1,由于规定正数部分必须为1,即将小数点右移1位,则为

1.0*2^(-1),其阶码为-1+127=126,表示为

01111110,而尾数1.0去掉整数部分为0,补齐0到23位00000000000000000000000,则其二进

制表示形式为:

0 01111110 0000000000000000000000017.png18.png

存放E的空间全为0

这时,浮点数的指数E等于1-127(或者1-1023)即为真实值,

有效数字M不再加上第一位的1,而是还原为0.xxxxxx的小数。这样做是为了表示±0,以及接近于 0的很小的数字。19.png

存放E的空间全为1

这时,如果有效数字M全为0,表示±无穷大(正负取决于符号位s);20.png

浮点数列题

#include<stdio.h>
int main()
{
  int n = 9;
  float* pFloat = (float*)&n;
  printf("n的值为:%d\n", n);
  printf("*pFloat的值为:%f\n", *pFloat);
  *pFloat = 9.0;
  printf("num的值为:%d\n", n);
  printf("*pFloat的值为:%f\n", *pFloat);
  return 0;
}

21.png22.png

所以会打印0.0000000000

23.png习题1


原码、反码、补码说法错误的是( )


A.一个数的原码是这个数直接转换成二进制


B.反码是原码的二进制符号位不变,其他位按位取反


C.补码是反码的二进制加1


D.原码、反码、补码的最高位是0表示负数,最高位是1表示正数


选D,D说反了


习题2


int main()
{
  unsigned char a = 200;
  unsigned char b = 100;
  unsigned char c = 0;
  c = a + b;
  printf(“%d %d”, a+b,c);
  return 0;
}


24.png

c=4425.png

习题3


unsigned int a= 0x1234; unsigned char b=*(unsigned char *)&a;

在32位大端模式处理器上变量b等于( )


A.0x00


B.0x12


C.0x34


D.0x1234


大端存储:0x 00 00 12 34


小端存储:0x 34 12 00 00


A


习题4


关于大小端字节序的描述正确的是( )


A.大小端字节序指的是数据在电脑上存储的二进制位顺序


B.大小端字节序指的是数据在电脑上存储的字节顺序


C.大端字节序是把数据的高字节内容存放到高地址,低字节内容存放在低地址处


D.小端字节序是把数据的高字节内容存放到低地址,低字节内容存放在高地址处


A应为B,CD互相说反了。


小端字节序: 低位放在低地址


大端字节序:高位放在低地址


习题5


5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:


A选手说:B第二,我第三;


B选手说:我第二,E第四;


C选手说:我第一,D第二;


D选手说:C最后,我第三;


E选手说:我第四,A第一;


比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。


#include<stdio.h>
#include<stdlib.h>
int main()
{
  int a = 0, b = 0, c = 0, d = 0, e = 0;
  for (a = 1; a <= 5; a++)
  {
  for (b = 1; b <= 5; b++)
  {
    for (c = 1; c <=5; c++)
    {
    for (d = 1; d <= 5; d++)
    {
      for (e = 1; e <= 5; e++)
      {
      if (((a != b) && (b != c) && (c != d) && (d != e)))
      {
        if (((b == 2) + (a == 3) == 1)&& 
        ((b == 2) + (e == 4) == 1) && 
        ((c == 1) + (d == 2) == 1) &&
        ((c == 5) + (d == 3) == 1) && 
        ((e == 4) + (a == 1) == 1))
        {
        if ((a * b * c * d * e) == 120)
        {
          printf("a=%d名\n", a);
          printf("b=%d名\n", b);
          printf("c=%d名\n", c);
          printf("d=%d名\n", d);
          printf("e=%d名\n", e);
        }
        }
      }
      }
    }
    }
  }
  }
  system("pause");
  return 0;
}


习题7


日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。


以下为4个嫌疑犯的供词:


A说:不是我。


B说:是C。


C说:是D。


D说:C在胡说


已知3个人说了真话,1个人说的是假话。


现在请根据这些信息,写一个程序来确定到底谁是凶手。


#include<stdio.h>
//
//A说:不是我。
//
//B说:是C。
//
//C说:是D。
//
//D说:C在胡说
//
//已知3个人说了真话,1个人说的是假话。
//
//现在请根据这些信息,写一个程序来确定到底谁是凶手。int main()
{
  int a = 0, b = 0, c = 0, d = 0;    //1是凶手,0不是凶手
  int i = 0;
  int FD;
  for (i = 1; i <= 4; i++)
  {
  if (i == 1)       //A在瞎说
  {
    c = 1;
    d = 1;
    d = 0;
    FD = 1;
  }
  if (i == 2)// B在瞎说
  {
    c = 0;
    a = 0;
    d = 1;
    d = 0;
    FD = 1;
  }
  if (i == 3)//C在瞎说
  {
    a = 0;
    c = 1;
    d = 0;
    FD = 0;
  }
  if (i == 4)
  {
    a = 0;
    c = 1;
    d = 1;
    FD = 1;
  }
  if (a + b + c + d == 1 && FD == d)
  {
    printf("A=%d B=%d C=%d D=%d",a, b, c, d);
  }
  }
  return 0;
}

习题8


杨辉三角


#include<stdio.h>
int main()
{
  int a[99][99];
  int h;
  scanf("%d", &h);
  int i, j, k;
  for (i = 0; i < h; i++)
  {
  for (j = 0; j < h - i; j++)
  {
    printf(" ");
  }
  a[i][0] = 1;
  for (j = 1; j <=i; j++)
  {
    a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
  }
  a[i][i] = 1;
  for (j = 0; j <= i; j++)
  {
    printf("%d ", a[i][j]);
  }
  printf("\n");
  }
  return 0;
}
相关文章
|
数据安全/隐私保护
建木(Jianmu)----使用docker-compose安装部署Jianmu(建木)
建木(Jianmu)----使用docker-compose安装部署Jianmu(建木)
808 0
建木(Jianmu)----使用docker-compose安装部署Jianmu(建木)
|
12月前
|
API
如何使用控制台群发短信 | 阿里云短信服务
操作指南|通过控制台群发短信
993 14
|
10月前
|
人工智能 数据可视化 数据处理
【2025低代码前瞻】:平台赋能的无限可能
低代码平台正成为企业数字化转型的核心工具,2025年将通过可视化开发、核心引擎升级、模型驱动、数据处理增强、AI融合、插件生态丰富、开放架构和强化企业功能等趋势,大幅提升开发效率与灵活性。可视化开发实现全员参与,拖拽式组件、实时预览和多人协作等功能显著提高开发速度;核心引擎如SQL引擎、功能引擎等的智能化升级支持高效开发;模型驱动自动生成高质量代码,智能优化逻辑并确保跨平台兼容;数据处理能力增强,支持跨数据库操作与实时流处理;丰富的插件生态覆盖多行业需求;开放架构结合微服务与开源框架提升扩展性;低代码平台将在2025年为企业带来更高效率、更低成本和更强创新能力。
411 32
|
SQL Java 数据库连接
什么是JDBC(Java Database Connectivity)?
JDBC(Java Database Connectivity)是Java语言用于连接和操作数据库的一个标准API。它提供了一种统一的方法来访问不同的数据库系统,使得Java程序能够与数据库进行交互,执行SQL语句,并处理查询结果。
218 0
|
Ubuntu 安全 Linux
openSSH升级
【10月更文挑战第2天】本文介绍了如何升级 OpenSSH 的步骤。首先,通过不同命令检查当前系统中的 OpenSSH 版本;其次,备份配置文件以防升级时丢失;然后,在 Debian/Ubuntu 和 CentOS/RHEL 系统中分别执行不同的命令进行升级;最后,验证升级后的版本并检查服务状态,解决兼容性问题,并考虑新的安全特性。
1634 3
|
传感器 机器学习/深度学习 数据采集
AI在环保中的角色:污染监测与防治
【10月更文挑战第6天】AI在环保领域的应用,不仅提升了污染监测的精准度和防治效率,还推动了环保技术的创新和升级。作为未来环保事业的重要力量,AI正以其独特的优势,为构建更加绿色、可持续的生态环境贡献着智慧与力量。我们有理由相信,在AI的助力下,我们的地球将变得更加美好。
|
网络虚拟化 网络架构
2021年4月-(计算机网络)小型校园网络模拟搭建,最全最准确版!(一)
2021年4月-(计算机网络)小型校园网络模拟搭建,最全最准确版!!!!!
740 0
|
SQL 监控 前端开发
Springboot过滤器和拦截器详解及使用场景
过滤器和拦截器触发时机不一样,过滤器是在请求进入容器后,但请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。
|
弹性计算 负载均衡 小程序
阿里云服务器免费体验3个月如何申请?
阿里云服务器免费体验3个月如何申请?阿里云服务器免费试用申请链接入口,阿里云个人用户和企业用户均可申请免费试用,最高可以免费使用3个月,阿里云服务器网分享阿里云服务器免费试用申请入口链接及云服务器配置
566 0
MathType7软件功能介绍一款强大的数学公式编辑器
话说我也算是 MathType准资深(DB)用户了,当然自从感觉用DB不好之后,我基本上已经抛弃它了,只是前不久因为个别原因又捡起来用了用,30天试用期间又比较深入的折腾了下,也算是变成半个MathType砖家,coco玛奇朵简单介绍一下这款软件:在很可能看到这儿的你还没有出生的某个年月(1987),发布了一款针对公式的图像编辑器,起名叫 MathType;
493 0