int a=-127;
int b=127;
int c=a|b;
請問c等于多少?簡述程序
c=-1?這是為什么?
int 是32位的 -127補碼是1000 0000 0000 0000 0000 0000 0000 0001
127是0000 0000 0000 0000 0000 0000 0111 1111
兩個對比是1000 0000 0000 0000 0000 0000 0111 1111
應該是-127呀為什么輸出的是-1求大神幫忙解答下謝謝
uj5u.com熱心網友回復:

所以或是32個1,即-1
uj5u.com熱心網友回復:
-127
原碼1000 0000 0000 0000 0000 0000 0111 1111
反碼1111 1111 1111 1111 1111 1111 1000 0000
補碼1111 1111 1111 1111 1111 1111 1000 0001
127
原碼0000 0000 0000 0000 0000 0000 0111 1111
反碼0000 0000 0000 0000 0000 0000 0111 1111
補碼0000 0000 0000 0000 0000 0000 0111 1111
補碼1111 1111 1111 1111 1111 1111 1000 0001
補碼0000 0000 0000 0000 0000 0000 0111 1111
位或1111 1111 1111 1111 1111 1111 1111 1111
原碼1000 0000 0000 0000 0000 0000 0000 0001
位與0000 0000 0000 0000 0000 0000 0000 0001
謝謝,已經弄明白了,位或以后補碼轉回原碼取返加1就對了
我之前就是卡在轉回原碼哪里了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77588.html
標籤:Java SE
上一篇:騰訊被指勸退高齡員工,華為百度也在優化,互聯網35歲+該怎么辦
下一篇:一道java題目(初學者)
