有关printf("%08x",number)详解

先来看道题----选自程序员面试宝典

下面程序的输出结果是多少?

#include<stdio.h>
int main()
{unsigned int a = 0xFFFFFFF7;unsigned char i = (unsigned char)a;char* b = (char*)&a;printf("%08x,%08x\n",i,*b);return 0;
}

打印结果:

分析:

08表示输出8个字符。x是输出16进制

上面的程序为什么输出fffffff7?

char* b = (char* )&a;//&a可以认为是个指向unsigned int 类型数据的指针,(char *) &a则把&a强制转换成char *类型的指针,并且这个时候发生了截断!截断后,指针b只指向oxf7这个数据(为什么b指向oxf7下面解释),又由于指针b是char *型的,属于有符号数,所以有符号数0xf7在printft ()的作用下输出fffffff7.

在X86系列的机器中,数据的存储是“小端存储”,小端存储的意思就是,对于一个跨多个字节的数据,其低位存放在低地址单元,其高位存放在高地址单元。比如一个int型的数据ox12345678,假如存放在0x0000000, 0x00000001, 0x00000002, 0x00000003 这四个内存单元中

所以上题中的数据存储如下图所示

有关printf输出08x格式详解相关推荐

  1. PE 格式详解与试验

    PE 格式详解与试验 可执行文件结构分析 DOS头 文件头 可选头 PE RVA 地址与文件地址转换 块表 Section Header 导入表 Data Directory 基址重定位 reloc ...

  2. python 多数据输出到txt_详解python读取和输出到txt

    读取txt的数据和把数据保存到txt中是经常要用到的,下面我就总结一下. 读txt文件 python常用的读取文件函数有三种read().readline().readlines() 以读取上述txt ...

  3. php serialize mysql_php 序列化(serialize)格式详解

    1.前言 PHP (从 PHP 3.05 开始)为保存对象提供了一组序列化和反序列化的函数:serialize.unserialize.不过在 PHP 手册中对这两个函数的说明仅限于如何使用,而对序列 ...

  4. 三维重建:PNG格式详解-与LibPNG使用

    PNG图像包含了骨骼信息,左边的图像比右边的大几十K,包含了骨骼信息:        PNG格式详解:https://blog.mythsman.com/post/5d2d62b4a2005d7404 ...

  5. PHP 序列化(serialize)格式详解

      1.前言 PHP (从 PHP 3.05 开始)为保存对象提供了一组序列化和反序列化的函数:serialize.unserialize.不过在 PHP 手册中对这两个函数的说明仅限于如何使用,而对 ...

  6. 安卓camera2 API获取YUV420_888格式详解

    安卓音视频开发中的一个环节是摄像头采集数据,Android平台上摄像头采集的API有两套,camera1和camera2.本文主要讲的是camera2这套API采集数据,并指明YUV420_888格式 ...

  7. Gerber 格式详解

    Gerber 格式详解 gerber中文 gerber,gerber 文件:590m.com/f/25127180-487459253-79168e(访问密码:551685) 以下内容无关: ---- ...

  8. python怎么横着输出_对python3中, print横向输出的方法详解

    对python3中, print横向输出的方法详解 Python 2 : print打印的时候,如果结尾有逗号,打出来时候不会换行.但是在python3里面就不行了. Python3: 3.0的pri ...

  9. 小猫爪:嵌入式小知识10-I2S,TDM,PCM等音频格式详解

    小猫爪:嵌入式小知识10-I2S,TDM,PCM等音频格式详解 1 前言 2 I2S 3 Codec模式(左/右对齐) 3.1 左对齐(MSB对齐) 3.2 右对齐(LSB对齐) 4 DSP模式 5 ...

  10. Ffmpeg快速命令使用 Ffmpeg选项详解 Ffmepg格式详解 常见视频文件格式详解

    http://www.ffmpeg.com.cn/index.php/%E9%A6%96%E9%A1%B5 Ffmpeg快速命令使用 From Ffmpeg工程组 Jump to: navigatio ...

最新文章

  1. 观察者模式的Java实现及应用
  2. java之static关键词的作用
  3. 星战前夜服务器维护时间,EVE星战前夜开测时间在什么时候 什么时候测试
  4. 使用urllib2库实现有道翻译
  5. 2018 【第九届蓝桥杯省赛】 C/C++ B组
  6. java 高效遍历map_精髓!Java中遍历Map集合的五种方式
  7. 送给大家一个很好的Web前端开发工具
  8. 数据开放接口第一弹:12306官网中全国火车站数据
  9. SQL Server 计算年龄函数
  10. 计算机正态分布随机数范围,正态分布随机数
  11. 【格式化文档】ISO27001控制措施+ISO27002实施指南 【上】
  12. mysql 父子排序_mysql 父子结构排序
  13. yarn中MR作业报错Java heap space
  14. 手机端上传图片出现“没有应用可执行操作”
  15. 一个通过添加本地分区索引提高SQL性能的案例
  16. 2017年异步社区优秀图书和作译者评选TOP10
  17. 手机芯片基带芯片及服务器芯片有什么区别,手机射频电路知识干货,射频芯片和基带芯片又是什么关系?...
  18. L3-020 至多删三个字符 (30分)(动态规划)
  19. ps基础学习:钢笔工具抠图
  20. java string 加空格_java字符串加入空格

热门文章

  1. Win10离线安装choco方案
  2. java学习笔记-良葛格_Java良葛格 学习笔记
  3. 如何把PDF转成护眼模式/反色/黑底白字
  4. IE 11下载文件中文乱码解决(go/php)
  5. 币圈投资必败的5种“韭菜”人格
  6. CVPR2019资源汇总
  7. ADS1256应用(一)
  8. 平安性格测试题及答案_平安人寿做性格测试怎么?
  9. 苹果又一次将国产手机遮羞布撕下了,证明了谁才是创新领导者
  10. Loda Button