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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C++负数、小数如何保存

發(fā)布時(shí)間:2023/11/27 生活经验 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++负数、小数如何保存 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

負(fù)整數(shù)

正整數(shù)直接按照源碼存儲(chǔ),負(fù)整數(shù)按照補(bǔ)碼存儲(chǔ)。

原碼、反碼、補(bǔ)碼

首先要清楚原碼、反碼、補(bǔ)碼:
計(jì)算機(jī)中一個(gè)字節(jié)為8位,在此以一個(gè)字節(jié)為例:
原碼:
十進(jìn)制1:0000 0001
十進(jìn)制-1:1000 0001(負(fù)數(shù)的符號(hào)位為1)
反碼:
十進(jìn)制1:0000 00001
十進(jìn)制-1:1111 1110(除符號(hào)位外,其余反轉(zhuǎn))
補(bǔ)碼:
十進(jìn)制1:0000 00001
十進(jìn)制-1:1111 1111(負(fù)數(shù)的補(bǔ)碼為負(fù)數(shù)的反碼+1)
因此,正數(shù)的原碼、反碼、補(bǔ)碼相同,負(fù)數(shù)的原碼、反碼、補(bǔ)碼各不相同。
?

反碼、補(bǔ)碼作用

引入補(bǔ)碼,是為了計(jì)算負(fù)數(shù)的加法,也可以看做減法。比如10-1,如果按原碼計(jì)算的話:
(0000 1010 + 1000 0001) = 1000 1011 = -11,錯(cuò)誤。
因此需要使用補(bǔ)碼進(jìn)行計(jì)算:
(0000 1010 + 1111 1111) = 1 0000 1001 = 0000 1001 = 9。
引入反碼、補(bǔ)碼是為了更容易的計(jì)算減法。可以將減法看做加一個(gè)負(fù)數(shù),然后取負(fù)數(shù)的補(bǔ)碼進(jìn)行計(jì)算。
計(jì)算機(jī)以補(bǔ)碼的形式存儲(chǔ)小數(shù)。
?

范圍

對(duì)于單字節(jié)無符號(hào)整形,占8位,范圍為:0000 0000~1111 1111,即0~255。
對(duì)于單字節(jié)有符號(hào)整形,占8位,正數(shù)范圍為:0000 0001~0111 1111,即1~127,
??????????????負(fù)數(shù)范圍為:1000 0001~1111 1111,即-1~-127。
?
?

小數(shù)

參考:
https://blog.csdn.net/ACdreamers/article/details/19012279?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control&dist_request_id=1328603.58325.16151918506269985&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control
小數(shù)的整數(shù)、小數(shù)部分分別用二進(jìn)制表示:
如6.75轉(zhuǎn)換為二進(jìn)制:6轉(zhuǎn)換為0110,0.75轉(zhuǎn)換為:11。所以6.75可以表示為(0110.11)2

小數(shù)的存儲(chǔ)

小數(shù)的存儲(chǔ)分為3位:符號(hào)位、指數(shù)位、尾數(shù)位。
符號(hào)位:0:正數(shù),1:負(fù)數(shù)
指數(shù)位:127+指數(shù)轉(zhuǎn)為二進(jìn)制數(shù)
尾數(shù)為:小數(shù)轉(zhuǎn)為二進(jìn)制數(shù)后,用科學(xué)計(jì)數(shù)法表示后的尾數(shù)
??如173.8125轉(zhuǎn)換為二進(jìn)制:10101101.1101,用科學(xué)計(jì)數(shù)法表示為:1.01011011101*10^7。則符號(hào)位為0,指數(shù)位為:(127+7)2,即10000110,尾數(shù)位為:01011011101。則173.8125在計(jì)算機(jī)中存儲(chǔ)為:
0 1000 0110 0101 1011 1010

總結(jié)

以上是生活随笔為你收集整理的C++负数、小数如何保存的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。