1.資料在記憶體中是以二進位制的補碼形式儲存的。使用者輸入的資訊都轉化成ASCII碼值的補碼形式儲存到記憶體中。2.儲存單元簡單的說就是資料存放的地方,地址如何分配這個不用深究,只要知道分別給char 、int 、float、double等型別的資料分配多少記憶體就可以了。3.關於資訊是怎麼轉換成二進位制程式碼(補碼)儲存在記憶體,請看下面詳解:正數的補碼和其原碼相同. 補碼 = 原碼。 負數的補碼的兩種求法:(假設8bit,即8位) (1).是將該數的絕對值的二進位制形式,按位取反,再加1. 例. 求-10的補碼. 第一步是取-10的絕對值10; 第二步取10的二進位制形式為00001010; 第三步對00001010取反得11110101; 第四步再加1得11110110. 所以-10在記憶體中就以11110110形式存放。 (2).256-欲求的負數的絕對值 = 此負數的補碼。注意:256 - 的是這個負數的絕對值,而不是這個數 。也就是說 256 -|負數|=補碼. 求其原碼,則 256 - 補碼 = |負數| ,則原碼需要把首位變為1即可. 例. 求-10的補碼. 第一步是 256 - |-10|=246. 第二步把246變為二進位制,11110110. 所以-10在記憶體中就以11110110形式存放。 兩種方法比較下來,顯然,第二種更為簡便! 4.反碼:把每位取反,即0變1,1變0即可。 5.一個有符號定點數的最高位為符號位,0是正數,1是負數。 筆者認為,對於原碼、補碼、反碼的追究無需深入,只需要知道資料在計算機中以補碼形式儲存即可, 至於怎麼儲存是計算機的事情。
1.資料在記憶體中是以二進位制的補碼形式儲存的。使用者輸入的資訊都轉化成ASCII碼值的補碼形式儲存到記憶體中。2.儲存單元簡單的說就是資料存放的地方,地址如何分配這個不用深究,只要知道分別給char 、int 、float、double等型別的資料分配多少記憶體就可以了。3.關於資訊是怎麼轉換成二進位制程式碼(補碼)儲存在記憶體,請看下面詳解:正數的補碼和其原碼相同. 補碼 = 原碼。 負數的補碼的兩種求法:(假設8bit,即8位) (1).是將該數的絕對值的二進位制形式,按位取反,再加1. 例. 求-10的補碼. 第一步是取-10的絕對值10; 第二步取10的二進位制形式為00001010; 第三步對00001010取反得11110101; 第四步再加1得11110110. 所以-10在記憶體中就以11110110形式存放。 (2).256-欲求的負數的絕對值 = 此負數的補碼。注意:256 - 的是這個負數的絕對值,而不是這個數 。也就是說 256 -|負數|=補碼. 求其原碼,則 256 - 補碼 = |負數| ,則原碼需要把首位變為1即可. 例. 求-10的補碼. 第一步是 256 - |-10|=246. 第二步把246變為二進位制,11110110. 所以-10在記憶體中就以11110110形式存放。 兩種方法比較下來,顯然,第二種更為簡便! 4.反碼:把每位取反,即0變1,1變0即可。 5.一個有符號定點數的最高位為符號位,0是正數,1是負數。 筆者認為,對於原碼、補碼、反碼的追究無需深入,只需要知道資料在計算機中以補碼形式儲存即可, 至於怎麼儲存是計算機的事情。