PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
關於 long 與 long long
作者:
nevikw39
(牧)
2019-03-21 14:49:25
一直以來我一直以為 long、long long int 與 long long 是同義等價的,因為在 64 位元
系統下,sizeof(long) 及 sizeof(long long) 都是 8 啊!
可是我最近看到 stdlib.h 關於絕對值的函式有三個:abs, labs 及 llabs。如果 long ==
long long,為何要有兩個不同的函式?如果不同,那又是不同在哪裡?
作者:
firejox
(Tangent)
2019-03-21 15:06:00
long 與long long 的大小規範都是至少幾byte,不是固定幾byte標準沒規定long == long long
作者:
sarafciel
(Cattuz)
2019-03-21 15:17:00
在32bit的年代long是4個byte喔 更早還有int是2byte的所以要4byte有號整數的準確寫法是signed int32_t
作者:
chuegou
(chuegou)
2019-03-21 16:24:00
請愛用uint64_t
作者:
james732
(好人超)
2019-03-21 19:38:00
https://en.wikipedia.org/wiki/C_data_types
可以看看上面都寫at least還粗體 XD
作者:
IhateOGC
(我討厭)
2019-03-21 20:14:00
http://www.cplusplus.com/reference/cstdint/
作者:
tinlans
( )
2019-03-21 20:26:00
你試試 visual c++
作者:
suhorng
( )
2019-03-21 21:07:00
64 位元也有 LP64 跟 ILP 64 兩種, 一個 int 32 位一個64 位.
作者:
loveme00835
(髮箍)
2019-03-21 21:16:00
這就是為什麼需要 sizeof() operator, 不然都照你的想像 hard-code 就好啦
作者:
lc85301
(pomelocandy)
2019-03-21 22:07:00
寫 arduino 就會遇到 int 2bytes 了
作者:
eye5002003
(下一夜)
2019-03-21 22:13:00
要是這語言打一開始就都用stdint.h裡的東西就好了
作者:
loveme00835
(髮箍)
2019-03-21 22:17:00
stdint.h 也是要看平台的, 不是每個平台都要支援全部
作者: aelin
2019-03-23 00:44:00
long 至少32bit,long long至少是64bit而int大小和平台有關
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2019-03-23 12:29:00
沒辦法 C 標準制定的那年代這樣訂最方便, 大家一起還債現在出來的新語言通常就會直接訂死位元數了
作者:
F04E
(Fujitsu)
2019-03-25 18:41:00
請愛用cstdint
繼續閱讀
[問題] 建socket結果回傳-1
monkey5h123
Re: [問題] C++ 從文字檔讀數據
tyjh
[問題] ocx元件無法移除問題@@?
james999
[問題] palindrome number
lamb132610
[問題] C++ 從文字檔讀數據
tyjh
[問題] Big O running time
triumphant10
[問題] 基礎大數乘法TLE 求改善
applejuice64
Re: [問題]請教如何在C++加入指數及三角函數四則運算
suhorng
[問題] 如何判斷指令 然後取數值?
timmy999
Re: [問題] VScode執行C++程式
jxzhe
Links
booklink
Contact Us: admin [ a t ] ucptt.com