學習于千鋒教育,c全家桶,
1.c預編譯 防止頭檔案重復包含
方法一,c/c++的標準制定 早
#ifndef 宏
#define 宏
頭檔案具體的內容
#endif
#ifndef __HELLO_H #define __HELLO_H #include "hello.h" #endif
方法二,#pragma once 編譯器決定 晚
#pragma once放在頭檔案的最前方
#pragma once #include "hello.h"
總結
#pragma once 編譯器決定 強調的檔案名
#ifndef c/c++標準制定 強調的宏 而不是檔案
2.原碼,反碼,補碼

無符號數,正數,原碼===反碼===補碼
負數 符號位為1,反碼===原碼(除符號位)取反,補碼===反碼加一
負數在計算機記憶體的是補碼,
如果沒有補碼
例:
12-4=?
12+(-4)=
0000 1100
+ 1000 0100
--------------------
1001 0000 =-16
如果有補碼
1-1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [0000 0001]補 + [1111 1111]補 = [0000 0000]補=[0000 0000]原
0000 1100 (補)
+ 1111 1100 (補)
--------------------
0000 1000 = 8
(-1) + (-127) = [1000 0001]原 + [1111 1111]原 = [1111 1111]補+ [1000 0001]補 = [1000 0000]補
4-5=?
0000 0100 (補)
+ 1111 1011 (補)
-------------------
1111 1111(補)=>1111 1110(反)=>1000 0001(原)=-1
計算機為了擴資料的表示范圍:故意將-0看成-128 -128~127
總結
補碼意義:將減法運算 變加法運算 同時統一了0的編碼,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/6550.html
標籤:C
下一篇:C 實戰練習題目64
