简言之,你没有。
双向操作者在应用到<条码>时并不具有意义。
。 假设你可以改变<条码>杜布尔条码>的权利。 具体说来,意思是,没有简单的翻译,无法改变借方模式的权利——签字权将变成权宜之计,而最不重要的权宜之计将转变为权人,其含义完全不相干。 在ISO 754中,在实际红利线前有隐含的1轨,这也使解释复杂化。
类似的评论适用于其他任何仲裁员。
因此,由于对轨道操作者没有打字或有用的解释,因此标准不允许使用。
评论:
我只关心双位代表。 我只想印刷它,而没有做任何有益的事。
几年前,该法典是为南太平洋研究中心(大公国)结构撰写的。
#include <stdio.h>
union u_double
{
double dbl;
char data[sizeof(double)];
};
union u_float
{
float flt;
char data[sizeof(float)];
};
static void dump_float(union u_float f)
{
int exp;
long mant;
printf("32-bit float: sign: %d, ", (f.data[0] & 0x80) >> 7);
exp = ((f.data[0] & 0x7F) << 1) | ((f.data[1] & 0x80) >> 7);
printf("expt: %4d (unbiassed %5d), ", exp, exp - 127);
mant = ((((f.data[1] & 0x7F) << 8) | (f.data[2] & 0xFF)) << 8) | (f.data[3] & 0xFF);
printf("mant: %16ld (0x%06lX)
", mant, mant);
}
static void dump_double(union u_double d)
{
int exp;
long long mant;
printf("64-bit float: sign: %d, ", (d.data[0] & 0x80) >> 7);
exp = ((d.data[0] & 0x7F) << 4) | ((d.data[1] & 0xF0) >> 4);
printf("expt: %4d (unbiassed %5d), ", exp, exp - 1023);
mant = ((((d.data[1] & 0x0F) << 8) | (d.data[2] & 0xFF)) << 8) | (d.data[3] & 0xFF);
mant = (mant << 32) | ((((((d.data[4] & 0xFF) << 8) | (d.data[5] & 0xFF)) << 8) | (d.data[6] & 0xFF)) << 8) | (d.data[7] & 0xFF);
printf("mant: %16lld (0x%013llX)
", mant, mant);
}
static void print_value(double v)
{
union u_double d;
union u_float f;
f.flt = v;
d.dbl = v;
printf("SPARC: float/double of %g
", v);
// image_print(stdout, 0, f.data, sizeof(f.data));
// image_print(stdout, 0, d.data, sizeof(d.data));
dump_float(f);
dump_double(d);
}
int main(void)
{
print_value(+1.0);
print_value(+2.0);
print_value(+3.0);
print_value( 0.0);
print_value(-3.0);
print_value(+3.1415926535897932);
print_value(+1e126);
return(0);
}
评论的图像是:印刷功能印刷了一套带有各种微薄的黑体的任意 by。 如果你想要守则,与我联系(见我的简介)。
如果你重新使用英特尔(航天飞机端人),你很可能需要打碎该代码,以处理倒转轨命令。 但是,它表明你如何使用<代码>union。