變數是在乙個範圍內的可變的值。
要點:資料型別(確定變數的值的型別)
乙個位元組裡面8個位,每個位里儲存0101這樣的二進位制的補碼表示用來資料,乙個位元組的資料型別的第乙個位是符號位,表示正負。
資料型別 byte short int long float double char boolean
位元組數 1 2 4 8 4 8 2 1
在計算機內儲存的是資料的補碼形式,第1位是符號位,負數的補碼等於它的反碼+1,所以範圍分別是:
-2^8~2^7-1 ...................
關於精度:
什麼精度?
使用補碼的時候,第乙個位元組的第乙個位表示的是符號位,代表正負,這個可能就表示的是精度。所以,當將長的資料型別直接使用短的資料型別接受的話會報錯,可能丟失精度,也就是前面的位元組被拋棄了。
變數的運算:
同一資料型別進行操作,就是針對其補碼的操作,當獲取的補碼位數超過原位數的時候,需要更改接受的資料型別,以報錯得到的資料。
不同的資料型別進行運算,現將小的資料型別轉化為大的資料型別,再使用大的資料型別進行操作。一般獲取的值都是屬於大的資料型別。這就是變數的隱式轉換。
強制型別轉換(大轉小)
就是擷取大的型別的後面幾個位元組讓位元組數等於小的位元組數,這樣就可以被小的範圍接受了。
強制轉換可能出現損失精度的問題。
Bash變數相關
變數名 只能包含字母 數字和下劃線 bash中變數類別 本地變數 作用範圍僅限當前源程式檔案,僅對當前shell程序有效,對子shell無效 環境變數 作用範圍是當前shell及其子shell 特殊變數 表示上乙個命令的執行狀態返回值 表示引數的個數 表示引數列表 表示引數列表 位置變數 1,2,變...
變數宣告相關
const,define enum 幾種用法對比 如下定義幾種變數 1.static const int var 5 2.define var 5 3.enum 如果需要通過指標傳遞資料,則使用1 使用2 則不必要通過指標傳遞資料 1和3 debugger 中都會生成 symbol table,供查...
GO相關 變數
宣告變數 宣告變數的一般形式是使用 var 關鍵字 var name type go語言的基本型別 type 有 bool string int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr byte uint8 的別名...