第一模組-:(第2章)資料型別、字元編碼、檔案操作
阿新 • • 發佈:2018-11-09
1、漢字點陣碼是一種用黑白兩色點陣來表示漢字字形的編碼。一個8*8點陣字模的儲存容量為?
1、1位元組(Byte)有8位元(Bit) 2、黑白兩色每個點佔用1Bit 3、8×8點陣需要64個Bit 4、因為1Byte有8Bit,所以64Bit/8Bit/Byte = 8Byte 答案是B:8位元組。
2、(多選題) 選項中:關於為什麼使用十六進位制說法,選出你認為正確的是():
A十六進位制比二進位制更簡短 B十六進位制相比其他進位制閱讀和儲存都更方便 C十六進位制在資料交換時也很便利 D為了統一規範,CPU、記憶體、硬碟都是採用二進位制計算 CPU、記憶體、硬碟採用的是十六進位制計算;
1位十六進位制能代表4位二進位制,所以十六 進位制更簡短;
一個位元組用2位十六進位制就可以表示所以閱讀儲存都很方便,CPU運算也是遵照ASCII字符集,
以16、32、64的方向發展,故資料交換時十六進位制也更便利,所以A,B,C正確。
16進位制用在哪裡
1、網路程式設計,資料交換的時候需要對位元組進行解析都是一個byte一個byte的處理,1個byte可以用0xFF兩個16進位制來表達。通過網路抓包,可以看到資料是通過16進位制傳輸的。
2、資料儲存,儲存到硬體中是0101的方式,儲存到系統中的表達方式都是byte方式
3、一些常用值的定義,比如:我們經常用到的html中color表達,就是用的16進位制方式,4個16進位制位可以表達好幾百萬的顏色資訊。
3、浮點數的精確度
二、浮點數 浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x10^9和12.3x10^8是相等的。
浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。 整數和浮點數在計算機內部儲存的方式是不同的,整數運算永遠是精確的,而浮點數運算則可能會有四捨五入的誤差。 ---------------------
(單選題) python直譯器在計算1.2-1.0的結果為(D):
- A0.2
- B0.199
- C0.1
- D以上都不是
# pyhton3中,"/"表示的就是float除,不需要再引入模組,就算分子分母都是int,返回的也將是浮點數# 方法一:可以使用//求取兩數相除的商、%求取兩數相除的餘數。[/在Python中獲取的是相除的結果,一般為浮點數] # 方法二:使用divmod()函式,獲取商和餘數組成的元祖 # 例項程式碼: print(3/2) # 1.5 print(3//2) # 1 print(1.0/2.0) # 0.5 print(1.2-1.0) # 0.19999999999999996 # 精確度去2 print('%.2f' %(1.2-1.0)) # 0.20 print(divmod(2,3)) # 0,2
---------------------------------
>>>1.2 – 1.0 == 0.2 False >>>2.0 – 1.0 == 1.0 True
第1個表示式結果為帶有微小誤差的近似值,所以不等於0.2;第2個表示式結果小數位為0,所以為True
-------------------------------------------------------
程式語言浮點數由單精度型和雙精度型兩種 單精度型佔4個位元組32位的記憶體空間只能提供七位有效數字 雙精度型佔8個位元組64位的記憶體空間可提供17位有效數字 python 3 浮點數預設的是 17位數字的精度 將精度高的浮點數轉化成精度低的浮點數,內建方法 round() roud(2.873 , 2) ===> 2.87 格式化 %.2f 保留兩位小數 python 的浮點數損失精度問題,python 是以雙精度64位來儲存浮點數,多餘的位會被截掉,比如 0.1 ,電腦儲存的不是精準的 0.1 ,而是 0.10000000001,參與運算後,就會產生誤差,特別是哪些對精度要求高的,比如金融領域, 解決方法, round 方法 或 利用 decimal 模組 /raʊnd/ 英/'desɪm(ə)l/ 來解決浮點數精度問題,規定浮點數只到小數點幾位數