目录

(1)

(2)

(3)

(4)

(5)

(6)

(7)


今天给大家带来的是有关于数据存储的几个题,下面正片直接开始!

(1)

#include <stdio.h>
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;
}

输出结果:

注意:

有符号数与无符号数甚么时候才起作用?

在使用的时候,进行格式化输出的时候,会进行整型提升,如果是无符号数,无论符号位是0还是1,一律都补0,而对于有符号数,如果符号位是1,就补1,如果符号位是0,就补0。

(2)

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

输出结果:

(3)

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

输出结果:

(4)

#include<stdio.h>
int main()
{int i = -20;unsigned  int  j = 10;printf("%d\n", i + j);
}

输出结果:

虽然i+j的过程中发生了算数转换,但是不影响最后的结果,所以我们不做考虑。

(5)

#include<stdio.h>
int main()
{unsigned int i;for (i = 9; i >= 0; i--){printf("%u\n", i);}
}

输出结果:

后面将陷入死循环。

(6)

int main()
{char a[1000];int i;for (i = 0; i < 1000; i++){a[i] = -1 - i;}printf("%d", strlen(a));return 0;
}

输出结果:

此时需要注意一点:有符号的11111111,这个数为原码,要想求其保存的是什么数据,就要把其转换成补码,转换为补码之后可得-1,然后依次可得10000001为-127,此时再看10000000,这个数是不需要计算的,有符号的二进制里面,只要遇到这个数就直接将其解析,因为这个数无法按照我们的减1取反的哪种方式来计算,所以直接将其解析为-128。

事实上,-128即11000 0000的补码形式(首位截断后)就是1000 0000,这也就印证了为什么计算机会直接将这个数字解析为-128。

由上面可得:

有符号的char类型所能表示的范围为-128 - 127。

无符号的char类型所能表示的范围为0 - 255。

这些数据的范围可以通过C语言跳转到相应的文档进行查看,首先先打出代码#include,右击limits.h,然后点击转到文档即可查看数据的范围。

(7)

#include <stdio.h>
unsigned char i = 0;
int main()
{for (i = 0; i <= 255; i++){printf("hello world\n");}return 0;
}

输出结果:

死循环的打印hello world

借用上面的结论,在unsigned char类型中,保存的数据范围永远处于0~255,所以会死循环的打印hello world。

什么(危)?面试官考我数据存储的题相关推荐

  1. 【227期】面试官:MySQL 数据查询太多会 OOM 吗?

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...

  2. 面试官问一个数据表字段怎么表示多种业务含义?我愣了五分钟

    1 需求背景 在系统中用户一共有三种角色:普通用户,管理员,超级管理员,现在需要设计一张用户角色表记录这类信息.我们不难设计出如下方案. id name super admin normal 101 ...

  3. 超详细讲解!在字节跳动我是如何当面试官的,附大厂真题面经

    前言 Android技术迭代更新很快,各种新出的技术和名词也是层出不穷.不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今 ...

  4. 面试官问出这几道算法题,你能扛住么?

    写在前面 CSDN话题挑战赛第1期 活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题:前端面试宝典 话 ...

  5. 7年工作经验,面试官竟然让我写算法题?

    有一位阿里工程师在脉脉上吐槽:自己明明有着BAT的5年工作经验,却没想到在应聘Hulu时,败在了算法题上. 明明有多年大厂工作经验,为什么还要在找工作跳槽时,面对算法的考题?    01  为啥美国的 ...

  6. 面试官问百万数据excel导出功能如何实现?

    文章目录 背景 实现 1.异步处理 1.1 使用job 1.2 使用mq 2.使用easyexcel 4.多个sheet 5.计算limit的起始位置 6.文件上传到OSS 7.通过WebSocket ...

  7. 漫画:面试官考我图形推理题,我该怎么办?

    -----  第二天  ----- ------------ 在面试的过程中,你们遇到过类似这样的非技术题目吗?这样的题目是否能判断出候选人的潜力呢?恐怕答案见仁见智了.不过,小灰从学生时代就很喜欢这 ...

  8. 面试官:百万数据的导入导出解决方案,怎么设计?

    点击关注公众号,Java干货及时送达

  9. java 并发 面试题_阿里面试官总结10个经典技术题:Java多线程与并发面试题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 5,有哪些不同的线程生命周期? 当我们在Java程序中新建一个线程时,它的状态是New.当我们调用线程的start()方法时,状态被改变为Runnable ...

最新文章

  1. git如何移除某文件的版本控制
  2. python sanic部署_Sanic框架配置操作分析
  3. 基于 Spring Boot 的车牌识别系统(附项目地址)
  4. Gym 101964 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018)
  5. Linux 使用sigaction查询或设置信号处理方式
  6. python中读取指定的行和列_Python怎么获取excle中指定行和列的值?
  7. php 下拉菜单多选get,Jquery实现select二级联动多选下拉菜单
  8. ajax如何处理程序设计,Struts与Ajax高级程序设计
  9. 华为张顺茂:华为工业互联网平台FusionPlant助力国家电网打造泛在电力物联网
  10. 树莓派与笔记本用远程桌面连接(Xrdp远程桌面服务)
  11. 8月书讯(上)| 这些新书不可错过
  12. 看风水不如依照这些定律改造命运
  13. MySQL8.0 - 新特性 - Descending Index 1
  14. ACCV 2020国际细粒度网络图像识别竞赛——正式开赛!
  15. 数据爬取-奇技淫巧系列1——抓取隐藏在CDN,防爬代理等服务后面的数据
  16. Charles手机端抓包,抓取小说软件整本小说的示例
  17. Python3 迁移怨声载道
  18. 企业微信每日给女友推送早安,5分钟快速部署,腾讯云部署版本,每日定时发送,天气,鸡汤,纪念日等信息,可自定义通知提醒名称,聊天界面可置顶,内容可查图片。
  19. 【JY】No.7.1力学架构结构力学求解器(SM)使用教程
  20. Joshua Bloch离开Google了,Dart前景堪忧

热门文章

  1. 英特尔cpu支持Linux,英特尔公布对Icelake CPU的Linux Perf支持
  2. 指示函数(indicator function)含义及word使用
  3. 【备注】某某培训机构32期JavaEE系列视频教程就业班视频教程
  4. javaweb实现停车场收费管理系统
  5. 克鲁斯卡尔算法(Kruskai)和普里姆算法(Prim)
  6. Makefile中条件判断ifeq、ifneq、ifdef、ifndef的含义
  7. 基本概念-共益企业、ESG、CSR
  8. 重装计算机硬件,计算机重装系统的详细步骤
  9. Lecture 13-1
  10. 史上最全数据分析师资料免费下载[Python]