1樓:
你好,請問你怎麼知道是帶入的後面的來進行運算?
#include
#include
int main()
如果您是推斷的話,輸出結果為兩個0xffffffff,說明您給的推斷不正確。
2樓:
int a= -1; -- 這是有符號數,vc++ 編譯器處理為 long int
a= (unsigned char) a | 0377; 轉為無符號數就用補碼了。
無符號 宣告 加 unsigned
unsigned short int, unsigned long int, unsigned char.
3樓:匿名使用者
a二進位制 1111 1111 1111 11110377八進位制 0000 0000 1111 1111a|0377按位或 1111 1111 1111 1111%d 帶符號十進位制 -1
%o無符號八進位制 177777
x=1 二進位制 0000 0000 0000 0001~x 按位取反 1111 1111 1111 1110 沒錯就是-2的補碼
C 位運算速度問題,c語言位運算問題?
位運算速度很快。所以,可以用移1位代替乘2或除2,省時。編譯後的程式都是機內數,機內碼,都是2進位制,不用自己操心。target a 6 a 6 屬於定址計算,按a的地址,加 6 sizeof int 把這個地址裡的數賦到target的地址裡。for r 0 loop 1 r 這裡有分號,也就是迴圈體...
C語言運算問題
樓下的都說得有道理 我執行的結果兩次都是25 其實樓主這個語句就是一個問題 它違背了程式設計中,條理清晰,語句分明的要領。但是作為個人想法,我覺得應該是30才對。過程就像樓下 匿名回答者 說得那樣。不同的編譯器,會有不同的處理方式 所以這個問題不能深究。ps 剛剛看到樓下的說 如果你以後寫程式真的用...
跪求c語言大俠 我的位運算程式哪裡出了問題
include int main 我沒有多寫一個函式來實現,是直接在main中實現你所說的功能 做這種題就是要對進位制的轉換要有清楚的認識 short int是2位元組,也就是16位 八進位制 101675 轉換成二進位制則為 001 000 001 110 111 101 因為short int ...