對於mdk除錯總結
1、區域性變數在換成compiler6後,不能獲取到值了,這是之前沒注意地過的問題。也可能與編譯器沒有關係。
看到網友,說是優化等級高,實測是不管用的。
實測,只有在區域性變數前加static後重新編譯,就可以看到值了。
另外一種方式,也很傳統,就是通過串列埠列印出來。
2、按位取反~(value)與0-value的區別:
其實0-(value),就是補碼,按位取反+1。
補碼的思想,把減法當成加法時並不是必須要引入符號位的。詳見2023年10月21日《軟考考點之資料的表示》
負數與負數相加的問題也解決了1111(-1)+1110(-2)=1101(-3)
然後我們再來看看為什麼負數的補碼的求法為什麼是反碼+1
因為負數的反碼加上這個負數的絕對值正好等於1111,再加1,就是1000,也就是四位二進數的模
而負數的補碼是它的絕對值的同餘數,可以通過模減去負數的絕對值,得到他的補碼。
所以,負數的補碼就是它的反碼+1
所以在用計算器,not取反是不等於 負乙個數值的。
成員變數 區域性變數
成員變數 作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。區域性變數 作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。1.成員變數可以被 public,protect,private,static等修飾符修飾,而 區域性變數不能被控制修飾符及 stati...
成員變數 區域性變數
一.相同點 1.都遵循變數的宣告格式 修飾符 資料型別 變數名 初始化值 2.都有各自的作用域 二.不同點 1.宣告的位置不同 成員變數 宣告在類內,方法外。區域性變數 宣告在方法內 方法的形參部分 塊內 2.成員變數的修飾符有四個 public private protected 預設 區域性變數...
靜態區域性變數
在區域性變數前加上 static 關鍵字,就成了靜態區域性變數。靜態區域性變數存放在記憶體的全域性資料區。函式結束時,靜態區域性變數不會消失,每次該函式呼叫時,也不會為其重新分配空間。它始終駐留在全域性資料區,直到程式執行結束。靜態區域性變數的初始化與全域性變數類似 如果不為其顯式初始化,則c 自動...