既然int 和long int的資料范圍都是-2**31到2**31-1,那么long int存在的意義又是什么?
今天做道題,我一直以為long int要比int資料范圍寬,琢磨了半天,才發現這兩者的資料范圍是一樣的?
uj5u.com熱心網友回復:
int和long的長度是看編譯器的,int至少2位元組,long不短于int,你說兩者相等只能說你的編譯器是這樣實作的;對于64位編譯器,int是32bit長度,而long int是64bit長度(在64Ubuntu系統下測驗)。
你如果用過turbo C,就能知道int表示的范圍比long小的;
uj5u.com熱心網友回復:
所以才有了int8,int16,int32,int64型別。
uj5u.com熱心網友回復:
C語言標準規定了一些型別 然后規定了這些型別的最小范圍而沒有規定精確范圍 所以不同平臺上的實作不一樣標準制定者跟編譯器實作者分離 是導致類問題的根本原因
因為使用C的平臺太多了 不同平臺有不同平臺的需求 所以標準必須要綜合各方面利益(俗稱和稀泥)
uj5u.com熱心網友回復:
https://zh.cppreference.com/w/c/language/arithmetic_types轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/275921.html
標籤:C語言
上一篇:OpenMP程式的編譯和運行
下一篇:關于C語言
