1樓:匿名使用者
42486(10) = 1010010111110110(2) unsigned
1010010111110110(2) signed = -(101101000001001+1)(2)
= -23050(10)
-----------
(1)正數的補碼:與原碼相同。 例如,+9的補碼是00001001。
(2)負數的補碼:符號位為1,其餘位為該數絕對值的原碼按位取反;然後整個數加1。 例如,-7的補碼:
因為是負數,則符號位為「1」,整個為10000111;其餘7位為-7的絕對值+7的原碼0000111按位取反為1111000;再加1,所以-7的補碼是11111001。
已知一個數的補碼,求原碼的操作分兩種情況:
(1)如果補碼的符號位為「0」,表示是一個正數,所以補碼就是該數的原碼。
(2)如果補碼的符號位為「1」,表示是一個負數,求原碼的操作可以是:符號位為1,其餘各位取反,然後再整個數加1。 例如,已知一個補碼為11111001,則原碼是10000111(-7):
因為符號位為「1」,表示是一個負數,所以該位不變,仍為「1」;其餘7位1111001取反後為0000110;再加1,所以是10000111。
-----------
lz很不厚道耶....你的題目明明問的是"結果是什麼?",又不要結果....
你要的是什麼程式?
輸出的程式嗎?
2樓:溺於舊聞中
你的問題補充有問題,無符號短整型的範圍是:0-65535,有符號短整型的範圍才是:-32768-+32767,注意改正哦。具體問題的解答見二樓,他是對的!
3樓:車草子
很巧 我也在做這個程式
因為溢位問題
所以會輸出42486的補碼-23050
#include "iostream"
using namespace std;
void unsigned(unsigned short int x)
void signed(unsigned short int x)int main(){
cout<<"the numeber is 42486"< signed(42486); //因為溢位,所以輸出的為42486的補碼-23050// unsigned(42486); return 0; c++語言中以無符號的十進位制形式輸出整數是什麼意思 4樓:戴雨城 就是沒copy 有正負,在c++的形式是unsigned int。 正常的數儲存時是把這個數的在機器記憶體裡的最高位存成符號位,比如: int:0||0000000 00000000 00000000 00000001 符號||數 如果沒有符號就是全是數 新手解惑。在c語言中,為什麼用%u而不能用%d輸出無符號型別整數的最大值?(如uint–max?) 5樓:匿名使用者 %u 輸出無符號數 %d 輸出有符號數 所以,要想看到無符號資料,則要使用%u 8位二進位制所能表示的無符號整數和帶符號整數的範圍是多少? 6樓:蟈蟈蟈蟈 8位二進位制所能表示的無符號整數範圍為0~255;8位二進位制所能表示的帶符號整數範圍為-128~127。 無符號整數與帶符號整數: 一、無符號整數 無符號數(unsigned number)是相對於有符號數而言的,指的是整個機器字長的全部二進位制位均表示數值位,相當於數的絕對值。 用二進位制數的最高位表示符號,最高位是0,表示正數,最高位是1,表示負數。這種說法本身沒錯,可是如果沒有下文,那麼它就是錯的。至少它不能解釋,為什麼字元型別的-1用二進位制表示是「1111 1111」(16進製為ff);而不是我們更能理解的「1000 0001」。 二、帶符號整數 有符號整數可表示正整數、0和負整數值。其二進位制編碼方式包含 符號位 和 真值域。 我們以8bit的儲存空間為例,最左1bit為符號位,而其餘7bit為真值域,因此可表示的數值範圍是,對應的二進位制補碼編碼是。 c++中整型常量中的有符號和無符號怎麼理解,怎麼判斷? 7樓:覺悟壯志 按字面意思理解就可以。 有符號整型既可以表示正整數,又可 以表示負整數。內(當然也可以容表示0) 無符號整型預設只表示正整數 一、區別 區別1. 最明顯的區別還是在關鍵字上,有符號整型用int/short/long ,無符號整型unsigned(int)/ unsigned short/unsigned long 區別二2.取值範圍不同,因為有符號整型要表示負數,所以表示範圍分佈在0左右 以int 為例,int表示範圍是 -2^31到2^31-1. 無符號整型不需要表示符號,所以分佈在0的右邊,以unsigned(int)為例,unsigned (int) 範圍是 0到2^32-1 二、應用 總的來說用起來差不多,但是由於表示範圍不同,各取所長。 比如年齡欄位一般而言是正數,所以用unsigned short即可(當然,int也不會報錯) 又如訂單系統需要表示庫存數量的增減變化,可以用int 8樓:匿名使用者 無符號版本 和有來符號版本源的區別就是無符號型別bai能儲存2倍於有符du號型別的正整數zhi資料dao,比如16位系統中一個int能儲存的資料的範圍為-32768~32767,而unsigned能儲存的資料範圍則是0~65535 由題意 a4 a1 3d a3 a1 2d a5 a1 4d a5 10 a1 10 4d a4 a3 2 28 10 d 10 2d 2 28 72 40d 4d 2 即 4d 2 39d 62 0 解得 d 31 4或d 2 公差為整數 d 2 則a1 10 4 2 2 an a1 n 1 d ... 資料在記憶體中都是二進位制的,無符號的和有符號的資料,在記憶體中的表示是一樣的。在記憶體中資料的表示都是補碼,比如1在記憶體中表示為00000001,1在記憶體中的表示為11111111.不管你是用什麼有符號,還是無符號的,在記憶體中,資料都是這樣表示的。你定義了一個unsigned int a,只... include include include void main printf 請輸入一個字串 scanf s a for unsigned int i 0 i strlen a 2 i else if i strlen a 2 1 printf 這個字串是迴文 r n r n else cont...設等差數列an的公差為整數,且a4 a3 28,a5 10高中數學數列題啊
一個關於C語言的程式問題?C語言程式問題?
C 編寫程式,讀入整數後,能夠判斷它是否為迴文數