[英]right shift for float
我有這樣的浮動變量
float f = 0b 00000000 11110001 00000000 00000000
我想將第1個(非第0個)字節帶給char變量。 我不能做<<和>>。 我怎樣才能做到這一點?
通常很少有點與浮點值的二進制表示混淆。 您將嘗試的任何內容都無法移植。 但是,通常,這兩個工作:
char c(reinterpret_cast<char*>(&f)[1]);
union {
float f;
char c[sizeof(float)];
} u = { f };
u.c[1];
char bla;
bla = *((char *) &f + 1)
還要記住,采用字節序,在小字節序系統上,您實際需要的是字節2(假設您將字節從0計數到3)。 在這種情況下,您可以在上面的代碼中將+ 1
更改為+ 2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.