回覆列表
  • 1 # 佛系少年666

    1、可以透過位域來實現,如下:struct int_16{ unsigned a : 4; //佔4位的部分變數名為a unsigned b : 12; //佔12位的部分變數名為b} ;2、在c語言中定義bit型變數,可以使用位域來自定義。位域的定義和位域變數的說明位域定義與結構定義相仿,其形式為: struct 位域結構名 { 位域列表 };其中位域列表的形式為: 型別說明符 位域名:位域長度;示例:透過位域來計算IEEE754浮點數標準中,單精度浮點數的最大值、最小值以及最小弱規範數。#include <stdio.h>typedef struct FP_SINGLE{ unsigned __int32 fraction : 23; unsigned __int32 exp : 8; unsigned __int32 sign : 1;} fp_single;int main(){float x;fp_single * fp_s = (fp_single *)&x;fp_s->sign = 0;fp_s->exp = 0xfe;fp_s->fraction = 0x7fffff;printf ("float 最大數: %le\n",(double)x);fp_s->sign = 0;fp_s->exp = 0x1;fp_s->fraction = 0x0;printf ("float 最小數: %le\n",(double)x);fp_s->sign = 0;fp_s->exp = 0;fp_s->fraction = 0x1; printf ("float 最小弱規範數:%le\n\n",(double)x); return 0;}

  • 中秋節和大豐收的關聯?
  • 怎樣才能做到慢下來,去生活呢?