日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS笔记-计算机中的进制 反码补码 和存储细节

發布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS笔记-计算机中的进制 反码补码 和存储细节 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、計算機中的進制

?

????計算機能夠識別的只有二進制 0、1

?

????進制就是一種計量的單位

?

2、常見的進制:

?

?二進制:逢二進一??用0、1來表示,定義一個二進制的數:0b 或者 0B ?,0B1010(2)=10(10)

?

?八進制:逢八進一??用0-7之間的數字表示,定義一個八進制的數:0 開頭

?

?

10進制:逢10進一??用0-9之間的數字表示,定義一個十進制的數(默認)

?

16進制:逢16進一??用0-9表示16進制中的0-9,用A-F表示16進制中的10-15

?

????????定義一個16進制的數,用0x或者0X開頭

?

3、進制的轉換問題

?

10--->2 :?除2取余法,取余數逆序??(把一個10進制的數每次除以2,得到余數)

2---->10:?用二進制的每一位乘以2的(x)次方,

???

???????????如果是正整數:x從右至左,從0開始依次增1

???????????如果是實數:? x從小數部分開始,從左至右,x依次增加1

?

?????????? 010101110.10101

?

?

10-->8:除8取余,取余數的逆序

2--->8:取出三位(二級制)合成 1位(8進制)?

??????? 01 101 101= 155

8--->2:取出1(8進制)拆成3位(二進制)

?

?

2--->16:取出四位(二進制)合成 1位(16進制)

16-->2 :一拆四,取出1位(16進制)拆成 4位(二進制)

?

?

8--->16:? 8---->2---->16:先是1拆3,然后4合一

16-->8 :? 16--->2---->8 :先是1拆4,然后3合一

?

?

4、原碼、反碼、補碼

?

????為什么要引入反碼和補碼?

?

????存儲一個負數,主要還是用來優化計算機的減法運算

?

??

????原碼:一個正數的二進制表示,原碼

?????????整數的原碼、反碼、補碼都是一樣的

?

????反碼:符號位不變,其他位按位(逐位)取反的結果

?

????補碼:反碼+1

?

???????? 00000000 00001010

?????

????取反:11111111 11110101

????+1 ? 11111111 11110110 ??-5

?

?

5、位運算

?

????&???|??~??>>??<<

?

????&?按位與???????口訣:同1為1

????|?按位或???????口訣:有1為1

????~?按位取反?????口訣:1變0,0變1

?

????>>右移位???????把一個數的二進制位逐位向右移動 a>>1 ?把a向右移動1位

??????????????????相當于/2

??????????????????注意:向右移位,移出的那位刪除,左側補符號位

?

????<<左移位???????把一個數的二進制位逐位向左移動 a<<1 ?把a向左移動1位

?相當于*2

??????????????????注意:

??????????????????向左移位,有可能會改變一個數的正負性

??????????????????向左移位,移出的位被刪除,右側補0

?

??????????????????

??????????????????任何數和1進行&操作,相當于取這個數的二進制的最后一位。

?

6、變量在內存中的存儲細節

?

??? int? 4個字節?%d %i

??? float 4個字節?%f

??? double 8個字節%f

??? long? 8個字節(64),32位下4個字節

??? long long 8個字節,

?

7、變量類型的修飾符

??

??? short int? 2個字節??%hd ?

?

??? 10000000 00000000 ????-2(15)(-32768)

?-1 00000000 00000001

?------------------------

??? 01111111 11111111 ???? 2(15)-1(32767)

?

?

??? long ????? 8個字節??%ld -2(63)?~ 2(63)-1

??? long long? 8個字節??%lld

??? signed int 4個字節??%d

??? unsigned int 4個字節?%u

?

8、字符型

?

????字符型數據在內存中如何存儲的?

????字符型單字節(8位)

?

????字符型存儲過程?---->整數--->2進制---->內存(字符對應的整數可以查詢ascii碼表)

????取出字符的過程內存---->二進制--->整數---->查出對應的字符

?

??? char ch;

??? ch='a';????-->97

???

????%d ? 97

????%c ? a

?

????字符型和整形可以互相轉換

轉載于:https://www.cnblogs.com/houzhitong/p/4499851.html

總結

以上是生活随笔為你收集整理的IOS笔记-计算机中的进制 反码补码 和存储细节的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。