輸出二進位制補碼問題

2021-10-04 23:37:19 字數 2118 閱讀 5924

蒜頭君有乙個 int\textint 的整數,輸出它的 323232 位二進位制補碼。

輸入格式

乙個整型整數。

輸出格式

輸出一行,即該整數的補碼表示。

輸出時每行末尾的多餘空格,不影響答案正確性

樣例輸入:

樣例輸出

做這道題就是明白一點:計算機中負數用補碼來表示,因為整數補碼是本身,所以這道題其實就是輸出乙個數在計算機中的二進位制形式,超級簡單了

#include#includeusing namespace std;

int map1[110][110],map2[110][110];

int main()

}

傳送門

%i和%d區別在scanf中,%i功能更強大,能根據輸入的形式轉換成十進位制並賦值給變數,比如下面程式:

int n;

scanf("%i",&n);

cout《輸入0x10,輸出16,輸入0010輸出8(八進位制)

c語言不能直接表示二進位制,沒有數字字首表示

傳送門

c語言中可以用%o %d/%i %x輸出8 10 16進製制的數但是沒有二進位制的輸出字元,但是有itoa的函式,

注意: 計算機中負數用補碼表示,所以itoa函式求出的負數也是補碼形式

函式原型:

char *itoa( int value, char *string,int radix); [1]

原型說明:

value:欲轉換的資料。

radix:轉換後的進製數,可以是10進製、16進製制等。

#include #include int main(void)

/* itoa example */

#include #include int main ()

output:

enter a number: 1750

decimal: 1750

hexadecimal: 6d6

binary: 11011010110

注意事項

itoa() 函式有3個引數:第乙個引數是要轉換的數字,第二個引數是要寫入轉換結果的目標字串,第三個引數是轉移數字時所用的基數(進製)。在上例中,轉換基數為10,就意味著以10為轉換進製。10:十進位制;2:二進位制…

itoa 並不是乙個標準的c函式,它是windows特有的,如果要寫跨平台的程式,請用sprintf。

標準庫中有sprintf,功能比這個更強,用法跟printf類似:

char str[255];

sprintf(str, 「%x」, 100); //將100轉為16進製表示的字串。

下列函式也可以將相應型別的整數轉換為字串:

將無符號整型數value轉換成字串並返回該字串,radix為轉換時所用基數

char *ltoa(long value,char *string,int radix)

將長整型數value轉換成字串並返回該字串,radix為轉換時所用基數

char *itoa(int value,char *string,int radix)

將整數value轉換成字串存入string,radix為轉換所用基數.

double atof(char *nptr)

將字串nptr轉換成雙精度數,並返回這個數,錯誤返回0

int atoi(char *nptr)

將字串nptr轉換成整型數, 並返回這個數,錯誤返回0

long atol(char *nptr)

將字串nptr轉換成長整型數,並返回這個數,錯誤返回0

double strtod(char *str,char **endptr)

將字串str轉換成雙精度數,並返回這個數,

long strtol(char *str,char **endptr,int base)

將字串str轉換成長整型數, 並返回這個數

ok,又11點多了,哎!啥也不是

輸出二進位制補碼

描述 輸入乙個整型 int 的整數,輸出它的32位二進位制補碼。輸入乙個整型整數。輸出輸出一行,即該整數的補碼表示。樣例輸入 7樣例輸出 00000000000000000000000000000111 第一位為符號位,0表示正數,1表示負數 正數的原碼,反碼,補碼相同 負數的反碼為各位取反,補碼為...

二進位制補碼

二進位制補碼 計算機儲存資料都是以0,1二進位制進行儲存。對於有符號整數儲存 對於浮點數待續 引入補碼概念。原碼即直接將真值轉換為其相應的二進位制形式,而反碼和補碼是對原碼進行某種轉換編碼方式。對於正整數,原碼,反碼和補碼都相一樣 對於負整數,補碼等於反碼加1,而反碼等於原碼除符號位不變其他位按位求...

二進位制補碼

計算機只能識別0和1,使用的是二進位制,而在日常生活中人們使用的是十進位制,正如 亞里斯多德早就指出的那樣,今天十進位制的廣泛採用,只不過我們絕大多數人生來具有10個手指頭這個解剖學事實的結果.儘管在歷史上手指計數 5,10進製 的實踐要比二或三進製計數出現的晚.摘自 數學發展史 有空大家可以看看哦...