1樓:篤俠
關於八進位制和十六進位制的正負性,有如下幾種情況:
1. 如果直接使用,都認為是正值,比如
printf("%d",2*0x8008);
輸出 65552
2. 如果將其賦值給有符號變數,則(化為二進位制後)最高位為1表示負數,為0表示正。比如
short int y=0x8008;
printf("%d",y);
輸出 -32760
3. 如果將其賦值給無符號變數,則為正值。比如unsigned short int x=0xffff;
printf("%d",x);
輸出 65535
4. 如果在表示式中參與運算,並將運算結果賦值給有符號變數,與情況2相同。比如
short int y=2*0x4008;
printf("%d %d",2*0x4008,y);
輸出 32784 -32752
2樓:_冰靈
01234,0123456是八進位制,0x1234,0x8008是十六進位制,八進位制和十六進位制都沒有負值
3樓:匿名使用者
數值有正負之分,計算機就用一個數的最高位存放符號(0為正,1為負).
因此,八進位制01234轉化為二進位制1010011100 最高位為1,故為負
十六進位制0x1234轉化二進位制為0001 0010 0011 0100 最高位0,故為正
十六進位制0x8008轉化二進位制為1000 0000 0000 1000 最高位為1 故為負
組合語言,c語言問題,請問真值怎麼求出來的。
4樓:匿名使用者
第一位符號位1表示負,所以是負數;
1100111 (二進位制)= 2^6+2^5+2^2+2^1+2^0 = 103(十進位制)
所以是 -103
為什麼c語言中0177777表示真值-1
5樓:匿名使用者
0177777是八進位制數,轉換成二進位制就是1111111111111111,int為兩個位元組也就是十六位,該二進位制為補碼,轉換成真值就是-1
c語言中,0177777代表的真值是—1,為什麼呀?
6樓:
這是八進位制常數,因為是0打頭的。這個數的二進位制是16個1,在16位int平臺下就是十進位制-1的補碼,而在32位int平臺下是65535。
c語言程式的float變數,其內部編碼是0xbd600000,求實數真值是多少
在c語言中017777代表的真值為何是-1
7樓:匿名使用者
你少寫了一個7,應當是0177777
在c中,有規定,以0開頭的數為8進位制整數
你看到的書是傳統教材,當時的int資料佔兩個位元組,一個位元組8位,所以,0177777所對應的二進位制數就是16個1。
計算機中,儲存整數採用的是補碼,對於負數,補碼就是原碼的反碼+1。所以,1111111111111111轉換為原碼輸出就是-1,過程:
1111111111111111-1 = 1111111111111110 反碼
1111111111111110 對應的原碼為:1000000000000001 (-1) 首位為符號,1表示負,0表示正,其餘為數值。
在c語言中017777代表的真值為何是-1
8樓:禮芳苓曾塵
你少寫了一個7,應當是0177777
在c中,有規定,以0開頭的數為8進位制整數
你看到的書是傳統教材,當時的int資料佔兩個位元組,一個位元組8位,所以,0177777所對應的二進位制數就是16個1。
計算機中,儲存整數採用的是補碼,對於負數,補碼就是原碼的反碼+1。所以,1111111111111111轉換為原碼輸出就是-1,過程:
1111111111111111-1
=1111111111111110
反碼1111111111111110
對應的原碼為:1000000000000001(-1)
首位為符號,1表示負,0表示正,其餘為數值。
二進位制轉換十進位制,八進位制,十六進位制
在數制中,還有一個規則,這就是,n進位制必須是逢n進一。對於多位數,處在某一位上的 l 所表示的數值的大小,稱為該位的位權。例如十進位制第2位的位權為10,第3位的位權為100 而二進位制第2位的位權為2,第3位的位權為4,對於 n進位制數,整數部分第 i位的位權為ni 1,而小數部分第j位的位權為...
C中如何完成十六進位制到八進位制的轉換
計算機內都bai是2進位制,輸入輸出時才體du現出 其它進zhi制。include include using namespace std main 順便說一下 c 語言輸入輸出 x 格式 是 16 進位制,o 是 8 進位制。你是說輸出麼,還是從copy16進位制的數字字串轉換成8進位制的字串?如...
二進位制 八進位制 以及十六進位制有什麼區別
計算機中常用的十六進位制是逢16進1的記數制,採用數字0 9和字母a f共16個記數符號,若符號與十進位制的數的對應關係 計算機中常用的進位制 二進位制 八進位制 十六進位制 進位制 數 字 進位方法 十進位制 0 1 2 3 4 5 6 7 8 9 逢十進一 二進位制 0 1 逢二進一 八進位制 ...