電腦如何編譯二進制的
1、可以
2、當你編輯運行py文件後,就會生成對應文件名的pyc文件。
3、pyc是一種二進制文件,是由py文件經過編譯後,生成的文件,是一種byte code,py文件變成pyc文件後,載入的速度有所提高,而且pyc是一種跨平台的位元組碼,是由python的虛擬機來執行的,這個是類似於JAVA或者.NET的虛擬機的概念。pyc的內容,是跟python的版本相關的,不同版本編譯後的pyc文件是不同的。
總之,是可以的
B. c語言怎麼定義一個二進制數
C語言中沒有 「二進制數」這種類型,所以沒辦法直接定義;但可以直接定義16進制數。
例:
int main(){
int a;
scanf("%p",&a);//16進制數輸入%p是輸入一個十六進制的數scanf("%llx",&a);也可以輸入十六進制並且比較正規
printf("%d",a);//十進制輸出%d是輸出一個十進制的數
printf("0x%x",a);//16進制輸出printf("%llX ",a);也可輸出一個十六進制數如果紅色部分大寫X則輸出十六進制為大寫字母否則小寫x輸出為小寫字母
}
(2)電腦如何編譯二進制的擴展閱讀
C語言中定義整型數據的十六進制數:
unsigned int hex_val = 0x123;
//定義了一個整型變數並賦以初始值為一個十六進制常量。
if (scanf("%x", &hex_val) != EOF)
{
printf("它的八、十進制分別=%o、%d ", hex_val, hex_val);
}
C. 二進制如何編程
1、打開易語言新建一個windows程序進入下圖界面。
D. windows下如何用gcc 把c編譯成純二進制文件
方法如下: 雙擊GCC安裝包,mingw-get-setup.exe,點擊Install安裝。 點擊Change選擇安裝路徑,盡量不要有中文和空格, 將package 下面的mingw-***和mingw32-***和msys-**。都勾選上,等待下載安裝,直到勾選框全部變成土灰色。 找到安裝目錄的bi
E. 二進制是怎樣在電腦中運行的
十進制有0~9共十個數字。以此類推,二進制應當只有兩個數字,記為0、1。基數不是一個獨立的數字。
2.逢基數進一
凡某位運算結果為基數就要進位,本數位的值記為0,進位值為1。在十進制中,逢十進一。在二進制中,逢二進一。
3.每一位的權(數位值)是基數的方冪,指數自右至左遞增1
十進制:…10410310210110010-110-210-3……
二進制:…24232221202-12-22-3……
需要特別指出的是,為說明方便,此處二進制數是用十進制數的數字表達的。
4.每一位的數值等於該位上的權與數字的乘積
例如:
1995=1000×1+100×9+100×9+1×5
1001.101B=23×1+20×1+2-1×1+2-3×1
同樣,為說明方便,此處等號右邊的二進制數是用十進制數字表達的。
電腦為何採用二進制
l.二進制只需用兩種狀態表示數字,容易實現
計算機是由電子元器件構成的,二進制在電氣、電子元器件中最易實現。它只有兩個數字,用兩種穩定的物理狀態即可表達,而且穩定可靠。比如磁化與未磁化,晶體管的載止與導通(表現為電平的高與低)等。而若採用十進制,則需用十種穩定的物理狀態分別表示十個數字,不易找到具有這種性能的元器件,即使有,其運算與控制的實現也極復雜。
2.二進制的運算規則簡單
加法是最基本的運算。乘法是連加,減法是加法的逆運算(利用補碼原理,還可以轉化為加法運算,類似鍾表撥針時的計算),除法是乘法的逆運算。其餘任何復雜的數值計算也都可以分解為基本算術運算復合進行。為提高運算效率,在計算機中除採用加法器外,也直接使用乘法器。
眾所周知,十進制的加法和乘法運算規則的口訣各有100條,根據交換率去掉重復項,也各有55條。用計算機的電路實現這么多運算規則是很復雜的。
相比之下,二進制的算術運算規則非常簡單,加法、乘法各僅四條:
0+0=0 0×0=0
O+1=1 0×1=0
1+0=l l×O=0
l+1=10 1×1=l
根據交換率去掉重復項,實際各僅3條。用計算機的脈沖數字電路是很容易實現的。
3.用二進制容易實現邏輯運算
計算機不僅需要算術運算功能,還應具備邏輯運算功能,二進制的0和1分別可用來表示假(false)和真(true),用布爾代數的運演算法則很容易實現邏輯運算。
4.二進制的弱點可以克服
二進制主要的弱點是表示同樣大小的數值時,其位數比十進制或其他數制多得多,難寫難記,因而在日常生活和工作中是不便使用的。但這個弱點對計算機而言,並不構成困難。在計算機中每個存儲記憶元件(比如由晶體管組成的觸發器)可以代表一位數字,「記憶」是它們本身的屬性,不存在「記不住」或「忘記」的問題。至於位數多,只要多排列一些記憶元件就解決了,鑒於集成電路晶元上元件的集成度極高,在體積上不存在問題。對於電子元器件,0和1兩種狀態的轉換速度極快,因而運算速度是很高的。
二進制運算
1.算術運算
前面已經講過,二進制算術運算規則非常簡單,現舉二例加以說明。
即1110B+1011B=11001B
即1110B×10llB=10011010B
2.邏輯運算
在計算機中還經常用二進制數進行邏輯運算。邏輯運算在二進制數位之間進行,不存在進位或借位。在邏輯運算中,二進制數中的「1」表示「真」,「0」表示「假」。
(1)或(OR)運算
或運算又稱邏輯加,運算符為「∨」或者「+」。運算規則是:
0∨0=0
O∨1=l
1∨O=l
1∨1=l
也就是說,參加運算的邏輯值只要有一個為1,運算結果即為1,否則為0。
(2)與(AND)運算
與運算又稱邏輯乘,運算符為「∧」或者「×」。運算規
則是:
0∧0=0
0∧1=O
1∧O=0
1∧1=1
也就是說,當參加運算的邏輯值均為1時,運算結果才為1,否則為0。(3)非(NOT)運算非運算即對每個二進制位的邏輯值取反,運算符為在二進制數字上方加一橫線。運算規則是:
0=1
1=0
(4)異或(XOR)運算異或運算即按位相加(不進位),運算符常記為Å。運算規則是:
0Å0=0
0Ål=1
lÅ0=l
lÅl=0
可以看出,如果參加運算的兩個邏輯值相同,運算結果為0,否則為l。下面舉例說明二進制數的邏輯運算。
設 X=10110101B Y=ll010110B
則 X∨Y=11110111B
X∧Y=10010100B
XÅY=01100011B
十進制數與二進制數的轉換
我們在日常生活和工作中使用十進制數,在計算機中使用二進制數,因此在計算機輸入時要將十進制數轉換為二進制數,在計算機輸出時要將二進制數轉換為十進制數。這種轉換過程,是曲計算機自動完成的。為簡便起見,這里我們只介紹整數間的轉換。
1.十進制數轉換為二進制數
整數的轉換,通常採用除2取余法。即將十進制數依次除以2,再把每次得到的余數從後向前依次排列就得到相應的二進制數。例如:
即 75=1001011B
實際上,直接將十進制數用2的n次冪展開更為方便。例如:
75=64+8+2+1
=26×1+25×O+24×O+23×1+22×0+21×1+20×1
=1001011B
2.二進制數轉換為十進制數
將二進制數每一位的數值用十進製表達並相加即得到相應的十進制數。例如:
11010010B=27×1+26×1+25×0+24×1+23×0+22
×O+21×1+20×1
=128+64+16+2
=210
F. 如何將一個函數編譯成二進制文件
通過下面這條命令,main.c和swap.c 就產生了一個可執行二進制文件swap
》gcc mian.c swap.c -o swap
那麼這條命令是么樣把源程序變成可執行程序的呢?
步驟如下:
1、驅動程序首先調用C預處理器(CPP)把源文件翻譯成一個ASCII中間文件mian.i,預處理器會把#include所包含的內容都插入到聲明的位置,並且做宏替換,把main.c 文件的第3行 的SIZE替換成2(注意這里只是做簡單的文本替換)。
2、接下來驅動程序的C編譯器將main.i翻譯成匯編語言程序main.s
3、然後驅動程序的匯編器將匯編語言程序main.s 翻譯成可重定位的二進制文件main.o
4、最後運行鏈接器將main.o 與swap.o 以及一些必要的系統目標文件(比如你將調用的printf函數就是printf.o)連接起來變成一個可執行的二進制文件。
G. 計算機是如何識別純C語言,將其編譯成二進制的
c語言是高級語言,計算機只能識別二進制0和1編寫的語言,c語言是通關機器語言編寫成二進制編碼才能被計算機識別的!
清楚了嗎?
H. c語言是如何編譯成二進制
計算機專業有門課程叫做《編譯原理》,詳細講述了怎麼把高級語言翻譯成匯編語言活著機器能看懂的二進制代碼。
簡單的說,C語言是通過編譯器翻譯成二進制代碼的(就像英譯漢的軟體把英文翻譯成漢語一樣。把高級語言翻譯成機器語言過程很復雜,學了編譯原理就懂了)。還有編譯器可以用各種語言編寫,C語言可以被用C語言寫的編譯器來編譯。
I. 在電腦的計算機中,如何把十進制轉換成二進制
以下代碼用於實現十進制轉二進制、八進制、十六進制:
# -*- coding: UTF-8 -*-# Filename :test.py# author by : dfghj345# 獲取用戶輸入十進制數dec = int(input("輸入數字: "))print("十進制數為",dec,":")print("轉換為二進制為:", bin(dec))print("轉換為八進制為:", oct(dec))print("轉換為十六進制為:", hex(dec))
1、算出 2 的 n 次冪不大於要表示的值;
2、用要表示的值減去 2的 n 次方,得到剩下的值後,重復步驟 1,直到最後剩下 0 為止。
舉個例子,十進制的 107 如何轉成二進制,先找出 2 的 n 次冪不大於 107 ,算得 n = 6,用 107 減去 2的6次方 得到 43。
重復下來後:107=1x2^6+1x2^5+0x2^4+1x2^3+0x2^2+1x2^1+1x2^0
如果該位用到,用 1 表示,否則用 0 表示。所以 107 用二進製表示為:01101011。
(9)電腦如何編譯二進制的擴展閱讀
1、十進制整數轉換為二進制整數原理
眾所周知,二進制的基數為2,我們十進制化二進制時所除的2就是它的基數。談到它的原理,就不得不說說關於位權的概念。某進制計數制中各位數字元號所表示的數值表示該數字元號值乘一個與數字元號有關的常數,該常數稱為 「位權 」 。
位權的大小是以基數為底,數字元號所處的位置的序號為指數的整數次冪。十進制數的百位、十位、個位、十分位的權分別是10的2次方、10的1次方、10的0次方,10的-1次方。二進制數就是2的n次冪。
按權展開求和正是非十進制化十進制的方法。
下面我們開講原理,舉個十進制整數轉換為二進制整數的例子,假設十進制整數A化得的二進制數為edcba 的形式,那麼用上面的方法按權展開, 得
A=a(2^0)+b(2^1)+c(2^2)+d(2^3)+e(2^4) (後面的和正是化十進制的過程)
假設該數未轉化為二進制,除以基數2得
A/2=a(2^0)/2+b(2^1)/2+c(2^2)/2+d(2^3)/2+e(2^4)/2
注意:a除不開二,餘下了!其他的絕對能除開,因為他們都包含2,而a乘的是1,他本是絕對不包含因數2,只能餘下。
商得:(2^0)+c(2^1)+d(2^2)+e(2^3),再除以基數2餘下了b,以此類推。
當這個數不能再被2除時,先余掉的a位數在原數低,而後來的余數數位高,所以要把所有的余數反過來寫。正好是edcba
2、十進制小數轉換為二進制小數原理
關於十進制小數轉換為二進制小數
假設一十進制小數B化為了二進制小數0.ab的形式,同樣按權展開,得
B=a(2^-1)+b(2^-2)
因為小數部分的位權是負次冪,所以我們只能乘2,得
2B=a+b(2^-1)
注意a變成了整數部分,我們取整數正好是取到了a,剩下的小數部分也如此。
值得一提的是,小數部分的按權展開的數位順數正好和整數部分相反,所以不必反向取余數了。
J. 電腦上的計算器怎麼用二進制
1、首先在電腦桌面上點擊左下角的「開始」圖案。2、然後會彈出一個菜單,在此菜單中開始菜單中點擊「所有程序「,接著在彈出來的下拉框中點擊「附件」,接著再點擊「計算器」選項。3、然後此時頁面上就會彈出計算器的對話框,在此對話框中點擊上方的「查看」選項,接著在彈出來的下拉框中點擊「程序員」。4、然後返回計算器的頁面,在此頁面點擊左側的「十進制」,然後在顯示欄中輸入「10」。5、然後再在此頁面上點擊「二進制」,然後此時系統就會自動將二進制轉換為十進制顯示在屏幕上。
用電腦計算器計算二進制的具體操作步驟如下: 1、首先在電腦桌面上點擊左下角的「開始」圖案。 2、然後會彈出一個菜單,在此菜單中開始菜單中點擊「所有程序「,接著在彈出來的下拉框中點擊「附件」,接著再點擊「計算器」選項。 3、然後此時頁面上就會彈出計算器的對話框,在此對話框中點擊上方的「查看」選項,接著在彈出來的下拉框中點擊「程序員」。 4、然後返回計算器的頁面,在此頁面點擊左側的「十進制」,然後在顯示欄中輸入「10」。 5、然後再在此頁面上點擊「二進制」,然後此時系統就會自動將二進制轉換為十進制顯示在屏幕上。