C語言將乙個數轉換成小數,輸出結果為零

2021-10-12 09:55:45 字數 764 閱讀 8630

今天在處理資料的時候,有乙個需求:

將乙個整數,比如77000,單位納秒(10^-9秒)換算成秒,然後保留10位小數。

**:

printf

("%d",(

unsigned

int(item2 &

0x003fffff)/

1000000000))

;

輸出:

很明顯就是錯了,為啥全部都是零呢?

因為在轉換成unsigned int 的時候,忽略了小數部分,就像:

int a =10/

3;printf

("%d"

,a);

輸出的結果是3,而沒有小數,同樣的道理。

改正**:

printf

("%.10f ",(

(float)(

(unsigned

int)

(item2)

&0x003fffff))

/1000000000

);

先將它轉換成float型,這樣就保留了小數部分,再進行除以10^9的操作就正確了。

輸出:

Flex 將乙個 XML 轉換成乙個物件

在 flex 中,一般將乙個 xml 轉換成乙個物件,供顯示層或其它類使用.可以根據 xml 標籤的屬性名,標籤名 及 類的屬性名索引 進行轉換.public function convertxmlintoobject source xml,target object,convertattribut...

轉換成二進位制翻轉乙個數

實現函式unsigned int reverse bit unsigned int value 這個函式的返回值是value的二進位制位模式從左到右翻轉後的值。如 在32位機器上25這個值包含下列各位 00000000000000000000000000011001 翻轉後 2550136832 1...

如何將乙個類的屬性轉換成乙個MAP

需求 如何將乙個類轉換成乙個map,同時針對類中的屬性有要求,date型別 需要變成string,yyyy mm dd hh mm ss 物件需要變成json。如何寫乙個通用的工具 下面是具體的實現方式 string value object object override public strin...