使printf仅打印n字节整数的前x个字节

时间:2014-02-26 01:52:54

标签: c printf

我正在创建一个函数,将64位整数分解为其IEEE 754浮点部分(偏置指数,有效数字等)。我想只用3个字符显示有偏差的指数,但我对C很新,所以我很难将它低于8个字符。我有什么格式规范给printf来实现这个目的?顺便说一句,我只能使用库中的printf,并且不能转换为字符串或类似的东西。

例如,如果整数是0x4014000000000000,我只想显示401

1 个答案:

答案 0 :(得分:1)

假设无符号类型!

您不能以printf的格式字符串指定要打印的int的字节。但是你可以将打印机的值换成一个位数。

printf("Number %d", 0xFF000000) // outputs 4278190080
printf("Number %d", 0xFF000000 >> 24) // outputs 255

编辑:所以你得到的数字是0x4014000000000000,那么它将是

printf("Number %d", 0x4014000000000000 >> 52)