標籤:結果 asc 進位 增加 gpo 沒有 輸出 隱式 提高
馮諾依曼體系:I/O:輸入裝置與輸出裝置CPU: 運算器:計算資料 控制器:控製程序的運行 CPU還有寄存器與多級緩衝儲存空間:磁碟(外存);記憶體(快):掉電即失所有資料從磁碟到記憶體再到CPU資料從記憶體先到寄存器再被CPU使用
電腦語言:編譯語言:原始碼經本地編譯後裝還成目標機器的CPU指令解釋語言:原始碼經解譯器(Cpython、Ipython、pypi等)解釋為位元組碼(bytecode),運行在虛擬機器上,虛擬機器將位元組碼轉換為物理CPU識別的指令去運行(python,java輸入解釋型語言)動態語言:變數類型不需要事先聲明,可隨時賦值為其他類型(python)靜態語言:變數類型需要事先聲明,且不可更改(java、c++、c#等)強型別語言:不同類型之間不可操作,必須轉換成同一類型(沒有隱式轉換,python,java等)弱類型語言:不同類型之間可以操作,自動隱式轉換(javascript)
python是解釋型動態強型別語言 python是有記憶體回收GC機制的,引用計數增加與減少,引用計數減少到0時會被GC捕獲,在適當的時候進行記憶體回收
源碼、反碼和補碼:資料在電腦是以二進位形式存在的,電腦計算資料(加法)時用補碼來運算正數的源碼、反碼和補碼相同負數: 源碼轉化為補碼:符號位不變其餘按位取反後加1 補碼的補碼為源碼例子:1-2(等同於-2+1,電腦不會減法) 1、先取-2與1的補碼,-2補碼為:1110;1的補碼為:0001 2、兩個補碼相加為:1111 3、因1111為補碼,所以需要將其轉換成源碼,而補碼的補碼為源碼 4、將1111符號位不變其餘按位取反後加1後為:1001 5、所以最終運算結果為1001(源碼),轉換為十進位即為-1
位元運算符(二進位運算,負數需要先將其轉換為補碼再進行位元運算):&:按位與;都為1時為1(以正整數為例:1010&1100為1000)|:按位或;有一個為1即為1(以正整數為例:1010|1100為1110)~:按位取反:需要先將整數轉換為補碼後在取反;例子:~12 1、0000 1100(12的補碼) 2、1111 0011 (取反後為補碼,下一步將補碼轉換成源碼) 3、1000 1101 (符號位不變,其餘按位取反後加1即為源碼) 4、轉換為十進位即為-13^:異或:按位相同為0,不同為1<<:按位左移>>:按位右移 運用位元運算符是提高效率的方法。熟練使用位元運算符
電腦體系、語言的基礎認識