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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

16进制转double dotnet_终于把计算机进制弄明白了!

發布時間:2023/12/13 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 16进制转double dotnet_终于把计算机进制弄明白了! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

And there's one thing that I need from you

我只需要你為我做一-件事

Can you come through, through

待在我的身邊就好

Through, yeah

你可以撫慰一切不滿

And there's one thing that I need from you

你可以過來

Can you come through?

待在我的身邊嗎

-comethru·Jeremy Zucker

進制

進制的分類

二進制:0,1 ? 滿2進1

八進制:0~7 滿8進1,以0開頭

十進制:0~9 滿10進1

十六進制:0~9及A~F 滿16進1,以0x或0X開頭表示,A~F不區分大小寫

進制的轉換

--- 第一組(其他進制轉十進制)------------

規則:從低位開始,將每個位上的數提取出來,乘以2/8/16的(位數-1)次方,然后求和

1)二進制轉十進制

規則:從低位開始,將每個位上的數提取出來,乘以2的(位數-1)次方,然后求和

1011 = 1 * 1 + 1 * 2 + 0 * 2 * 2 + 1 * 2 * 2 * 2 = 1 + 2 + 0 + 8 = 11

2)八進制轉十進制

規則:從低位開始,將每個位上的數提取出來,乘以8的(位數-1)次方,然后求和

123 = 3 * 1 + 2 * 8 + 1 * 8 * 8 = 3 + 16 + 64 = 83

3)十進制轉十六進制

規則:從低位開始,將每個位上的數提取出來,乘以16的(位數-1)次方,然后求和

0x34A = 10 * 1 + 4 * 16 + 3 * 16 * 16 = 10 + 64 + 768 = 842

--- 第二組(十進制轉其他進制)------------

規則:將該數不斷除以2/8/16,直到商為0,然后將每步得到的余數倒過來

1)十進制轉二進制

規則:將該數不斷除以2,直到商為0,然后將每步得到的余數倒過來

56 = (((((56 / 2)/2)/2))/2)/2 = 111000

2)十進制轉八進制

規則:將該數不斷除以8,直到商為0,然后將每步得到的余數倒過來

156 = ((156 / 8)/8)= 0234

3)十進制轉十六進制

規則:將該數不斷除以16,直到商為0,然后將每步得到的余數倒過來

356 = ((356 / 8)/8)= 164

--- 第三組(二進制轉其他進制)------------

規則:將二進制數每 3/4 位一組(從低位開始組合),轉成對應的八進制數即可

1)二進制轉八進制

規則:將二進制數每三位一組(從低位開始組合),轉成對應的八進制數即可

11010101 = 11(3)010(2)101(5)= 325

2)二進制轉十六進制

規則:將二進制數每四位一組(從低位開始組合),轉成對應的八進制數即可

11010101 = 1101(D)0101(5)= 0xD5

--- 第四組(其他進制轉二進制)------------

規則:將8/16進制數每1位,轉成對應的一個3/4位的二進制數即可

八進制轉二進制

規則:將八進制數每1位,轉成對應的一個3位的二進制數即可

237 = 2(010)3(011)7(111)= 010011111

十六進制轉二進制

規則:將十六進制數每1位,轉成對應的一個4位的二進制數即可

0x237A = 2(0010)3(0011)7(0111)A(1010)= 0010001101111010

原碼、反碼、補碼

對于有符號的而言

1).二進制的最高位是符號位,0正數,1負數

????1 => [0000 0001], -1 => [1000 0001]

2).正數的原碼/反碼/補碼都一樣

????1 => 原碼[0000 0001] 反碼[0000 0001] 補碼[0000 0001]

3).負數的反碼 = 它的符號位不變,其他位取反

4).負數的補碼 = 它的反碼 + 1

????-1 => 原碼[1000 0001] 反碼[1111 1110] 補碼[1111 1111]

5).0的反碼,補碼都是0

6).在計算機運算的時候,都是以補碼的方式運算的

????1 + 1 ; 1 - 1 = 1 + (-1)

位運算

& | << >>

& : 兩位全為1,結果為1,否則為0

| : 兩位有一位為1(包含兩位1),結果為1,否則為0

^ : 兩位一位為1(只有一位1),結果為1,否則為0

// 2的補碼 0000 0010
// 3的補碼 0000 0011// 2&3 ? ?0000 0010 => 2fmt.Println(2&3)// 2|3 ? ?0000 0011 => 3fmt.Println(2|3)// 2^3 ? ?0000 0001 => 1fmt.Println(2^3)// -2的原碼 1000 0010
// -2的反碼 1111 1101
// -2的補碼 1111 1110
// 2的補碼 ?0000 0010
// 結果的補碼 ? ?1111 1100
// 結果的反碼 ? ?1111 1011
// 結果的原碼 ? ?1000 0100 => -4fmt.Println(-2^2)
a := 1 >> 2b := -1 >> 2c := 1 << 2d := -1 << 2// 0000 0001 >> 0000 0000 => 0fmt.Println(a) // 0
// -1的原碼 1000 0001
// -1的反碼 1111 1110
// -1的補碼 1111 1111
// >>2 的補碼 ? ?1111 1111
// >>2 的反碼 ? ?1111 1110
// >>2 的原碼 ? ?1000 0001 => -1fmt.Println(b) // -1
// 0000 0001 >> 0000 0100 => 4fmt.Println(c) // 4
// -1的原碼 1000 0001
// -1的反碼 1111 1110
// -1的補碼 1111 1111
// <<2 的補碼 ? ?1111 1100
// <<2 的反碼 ? ?1111 1011
// <<2 的原碼 ? ?1000 0100 => -4fmt.Println(d) // -4

總結

以上是生活随笔為你收集整理的16进制转double dotnet_终于把计算机进制弄明白了!的全部內容,希望文章能夠幫你解決所遇到的問題。

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