導航:首頁 > 源碼編譯 > 編譯器位數

編譯器位數

發布時間:2022-02-05 21:47:58

❶ C語言數據類型所佔位元組是和運行的機器位數有關還是編譯器有關

1)C語言一般指的是ANSI C的標准,對應的處理器分別是32位和64位的。
2)類型分為內置類型和自定義類型(非內置類型)
內置類型指的是無需聲明就可使用的類型,比如char,double,int等。
自定義類型指的是使用前必須聲明的,如struct StructName{};結構類型,int a[5];數組類型以及enum Color{};枚舉類型等。未經聲明的類型不可使用
3)ANSI C只對內置類型的大小進行了規范:
char |double| folat |int |long int| pointer
64bits 1 8 4 4 8 8
32bits 1 8 4 4 4 4
從上表可以看出,對於前三者,大小是統一的,只有long int 和pointer(指針)在不同的機器上佔用了不同的大小。他們的規則是,long int和pointer的大小等於機器位長(8位一個位元組).最後說明一點,unsigned的關鍵字和類型組合和該類型的大小相同,因為有符號和無符號只對編譯器有效,機器對他一無所知。

❷ 怎樣查看自己電腦的編譯器是多少位的

編譯器有好多種,每個語言都有,一般都有-v或者--version命令可以看版本信息,包括生成的代碼對應的機型(target),例如:Target: x86_64-w64-windows-gnu 就是生成64位的x86-64機器碼,編譯時可以靠-m32等命令控制.


至於編譯器本身,那跟你下載時的版本有關,如果你確實需要了解類似GCC本身是多少位的,可以這樣:

linux下:

filexxx#xxx代表程序名

例如:

[cosmia@excalibur~]$filesqlite3.i686sqlite3.x86_64
sqlite3.i686:ELF32-bitLSBexecutable,Intel80386,version1(SYSV),dynamicallylinked(usessharedlibs),forGNU/Linux2.6.32,BuildID[sha1]=,stripped
sqlite3.x86_64:ELF64-bitLSBexecutable,x86-64,version1(SYSV),dynamicallylinked(usessharedlibs),forGNU/Linux2.6.32,BuildID[sha1]=,stripped


windows下:

用7zip打開那個.exe文件,看cpu信息


詳細參考方法:

http://www.hu.com/question/23027723

❸ dev C++是多少位的編譯器,,,,

對 windows下的各種編譯器都是32位精讀的。int最大值是21幾幾幾那個十位數。如果要32767 就換成short int就好

❹ C++ 編譯器自動保留6位有效數字,怎麼輸出所有的位數

看你要求的
是多少,選擇合適的類型保存數據,float精度就是6位小數,想取得更高的精度使用double存儲,不要用float
double
v
=
1.1
*
1.1
*
1.1
*
1.1;

❺ sizeof(long)是4還是8的不同是由不同編譯器決定的,還是操作系統的位數,還是電腦的位數,還是C的標准

這個是由編譯器決定的,有的是32位編譯器,有的是64位編譯器,有的是標准C編譯器,有的是C++編譯器,都有可能不同。

❻ C語言各類型數據的位數是多少

這個跟系統有關的,你可以通過sizeof各個類型來看位元組數,從而算出位數。具體可以用以下代碼看
#include<stdio.h>
void main()
{
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long int));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
}

一般我們用的32位系統是:
類型 位元組數 位數 范圍
int 4 32 -2147483648 ~ 2147483647
long 4 32 同上
float 4 32 -2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38
double 6 64 -2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308

❼ C中int所佔用位元組數是和它所用的編譯器的位數有關,那麼以C開發的javaphp存不存在這個問題呢

嚴格的說,是跟系統位數相關。java不存在這個問題,java試運行在虛擬機上,與平台無關。php我不太連接。
課本上的位元組數一般都是按照32位機來的,嚴格的說,應該加上系統平台位數的限定..
中國的教材都那樣...糊弄人的...

❽ 怎樣用c語言編譯器列出8位數的組合

#include<stdio.h>

voidpm(unsignedintbeg,constunsignedintn)//調用時,beg恆0,n為數字的位數。
{
inti;
staticcharstr[10]={0};
if(beg!=n)
for(i=0;i<10;i++){
str[beg]='0'+i;
pm(beg+1,n);
str[beg]=0;
}
elseputs(str);
}

intmain(intargc,char*argv[])
{
pm(0,5);//示例
pm(0,8);
return0;
}

❾ c語言數據長度16位和32位什麼意思

樓上不要胡說!
>>是說16位的機器就是2個,32位是4個嗎?
這句話說的不太對,
這個其實指的是編譯器的位數,
對於16位編譯器(例如,tc),int型佔2個位元組
對於32位編譯器(例如,vc,gcc),int型佔4個位元組
這里指的是編譯器的位數,不是cpu的位數

❿ 如何查看電腦上安裝的visual studio 2010的編譯器的配置是32位還是64位的

指針大小為4就是32位的,為8就是64位的。

工程屬性裡面可以選擇:

閱讀全文

與編譯器位數相關的資料

熱點內容
cmd殺死進程命令 瀏覽:233
ipad激活伺服器地址 瀏覽:449
單片機開始直流電機壓降問題 瀏覽:15
伺服器地址失敗怎麼辦 瀏覽:144
安卓手機怎麼下載蘇聯游戲 瀏覽:128
主教的命令 瀏覽:803
php判斷變數為空 瀏覽:743
你演我猜安卓版本怎麼用 瀏覽:909
已夠app哪裡看 瀏覽:1007
程序員怎麼學會開車的技巧 瀏覽:785
網易郵箱如何刪除伺服器郵件 瀏覽:152
java多個泛型 瀏覽:275
安卓折扣號怎麼充值 瀏覽:604
行政決定行政命令 瀏覽:895
linux下的軟連接 瀏覽:606
fib在python是什麼意思 瀏覽:534
c調用命令行 瀏覽:942
阿里雲伺服器中沒有apt 瀏覽:611
發送信息需要用戶加密嗎 瀏覽:638
六年級分數乘分數有幾種演算法 瀏覽:300