回覆列表
-
1 # nohlz322
-
2 # 使用者4383246126739
求補碼的函式可以參考下面的程式碼,我們知道,在記憶體中,正數的補碼等於他本身,所以直接返回a。負數的補碼正是它在記憶體中的存在形式,這是我們定義一個unsigned int型的數值去用它來賦值,取得的就是他的補碼的二進位制形式。為了驗證,我另外編寫了一個函式,用來輸出二進位制,請參考。
unsigned int buma(int a)//用來求得補碼
{
if(a>=0)
return a;
else
{
unsigned int temp=a;
return temp;
}
}
void twoprint(unsigned int a)//用來輸出二進位制
{
int temp=a%2;
if(a/2==0)
{
cout
}
twoprint(a/2);//這裡採用了遞迴呼叫的方法
cout
}
求補碼的函式可以參考下面的程式碼,我們知道,在記憶體中,正數的補碼等於他本身,所以直接返回a。負數的補碼正是它在記憶體中的存在形式,這是我們定義一個unsigned int型的數值去用它來賦值,取得的就是他的補碼的二進位制形式。為了驗證,我另外編寫了一個函式,用來輸出二進位制,請參考。unsigned int buma(int a)//用來求得補碼{ if(a>=0) return a; else { unsigned int temp=a; return temp; }}void twoprint(unsigned int a)//用來輸出二進位制{ int temp=a%2; if(a/2==0) { cout