有关printf输出08x格式详解
有关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格式详解相关推荐
- PE 格式详解与试验
PE 格式详解与试验 可执行文件结构分析 DOS头 文件头 可选头 PE RVA 地址与文件地址转换 块表 Section Header 导入表 Data Directory 基址重定位 reloc ...
- python 多数据输出到txt_详解python读取和输出到txt
读取txt的数据和把数据保存到txt中是经常要用到的,下面我就总结一下. 读txt文件 python常用的读取文件函数有三种read().readline().readlines() 以读取上述txt ...
- php serialize mysql_php 序列化(serialize)格式详解
1.前言 PHP (从 PHP 3.05 开始)为保存对象提供了一组序列化和反序列化的函数:serialize.unserialize.不过在 PHP 手册中对这两个函数的说明仅限于如何使用,而对序列 ...
- 三维重建:PNG格式详解-与LibPNG使用
PNG图像包含了骨骼信息,左边的图像比右边的大几十K,包含了骨骼信息: PNG格式详解:https://blog.mythsman.com/post/5d2d62b4a2005d7404 ...
- PHP 序列化(serialize)格式详解
1.前言 PHP (从 PHP 3.05 开始)为保存对象提供了一组序列化和反序列化的函数:serialize.unserialize.不过在 PHP 手册中对这两个函数的说明仅限于如何使用,而对 ...
- 安卓camera2 API获取YUV420_888格式详解
安卓音视频开发中的一个环节是摄像头采集数据,Android平台上摄像头采集的API有两套,camera1和camera2.本文主要讲的是camera2这套API采集数据,并指明YUV420_888格式 ...
- Gerber 格式详解
Gerber 格式详解 gerber中文 gerber,gerber 文件:590m.com/f/25127180-487459253-79168e(访问密码:551685) 以下内容无关: ---- ...
- python怎么横着输出_对python3中, print横向输出的方法详解
对python3中, print横向输出的方法详解 Python 2 : print打印的时候,如果结尾有逗号,打出来时候不会换行.但是在python3里面就不行了. Python3: 3.0的pri ...
- 小猫爪:嵌入式小知识10-I2S,TDM,PCM等音频格式详解
小猫爪:嵌入式小知识10-I2S,TDM,PCM等音频格式详解 1 前言 2 I2S 3 Codec模式(左/右对齐) 3.1 左对齐(MSB对齐) 3.2 右对齐(LSB对齐) 4 DSP模式 5 ...
- Ffmpeg快速命令使用 Ffmpeg选项详解 Ffmepg格式详解 常见视频文件格式详解
http://www.ffmpeg.com.cn/index.php/%E9%A6%96%E9%A1%B5 Ffmpeg快速命令使用 From Ffmpeg工程组 Jump to: navigatio ...
最新文章
- mysql半连接_mysql表的半连接,反连接导致的mysql性能优化剖析
- IntelliJ IDEA添加过滤文件或目录
- ​Xamarin iOS教程之自定义视图
- a href=javascritp:void(0)的用法
- 【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片
- 038_JavaScript对象
- java面向对象三大特性:封装、继承、多态——举例说明
- CVPR 2021 《Domain-robust VQA with diverse datasets and methods but no target labels》论文笔记
- gcc版本降级/升级
- oracle 自增1,oracle自增无法从1开始
- Vboxmanage改动uuid报错的解决的方法
- linux mpeg-4,嵌入式MPEG-4解码系统的设计与实现,嵌入式MPEG-4解码系统,嵌入式Linux,视频码流,P...
- linux 删除sysadm用户,linux 用户和组命令整理及详细介绍
- Nginx服务器的开发团队
- php 重定向 post,使用Jquery post时PHP不会重定向
- python精彩编程200例-编程语言入门经典100例【Python版】
- 74LV165与74HC595 使用
- QQ截长图:无需下载其他软件,让电脑和手机一样轻松截长图
- Nginx实现白名单灰度发布,杜绝后台不可操控
- 天下足球十大感动台词
热门文章
- 使用HBuilder打包App教程
- elasticsearch查看版本号
- openstack虚拟机无法获取IP地址
- 如何关闭联想电脑的大小写切换桌面提示
- tftp工作流程计算机网络,tftpd32使用方法,[转载]利用GhostSrv+Tftpd32网络克隆攻略
- HTML制作虾米音乐,最新虾米音乐电台调用代码
- php readystate,ajax+php打造进度条 readyState各状态
- 距离多普勒谱(RD谱)绘制方法及理解
- tensorflow如何使用tensorboard将图片文件events.out.tfevents.1618410161.DESKTOP-CLCBFNS展示出来
- cordova通过指纹插件进行指纹验证