0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言中位、字節(jié)和字的定義 整數(shù)類型與浮點(diǎn)數(shù)類型的比較

lcdz66 ? 來源:雨飛工作室 ? 2023-10-18 15:03 ? 次閱讀

一、位、字節(jié)和字

術(shù)語位、字節(jié)和字用于描述計(jì)算機(jī)數(shù)據(jù)單位或計(jì)算機(jī)存儲(chǔ)單位。這里主要指存儲(chǔ)單位。

最小的存儲(chǔ)單位稱為位(bit)。它可以容納兩個(gè)值(0或1)之一(或者可以稱該位被置為“關(guān)”或“開”),不能在一個(gè)位中存儲(chǔ)更多的信息,但是計(jì)算機(jī)中包含數(shù)量極其眾多的位。位是計(jì)算機(jī)存儲(chǔ)的基本單位。

字節(jié)(byte)是常用的計(jì)算機(jī)存儲(chǔ)單位。幾乎對于所有的機(jī)器,1個(gè)字節(jié)均為8位。這是字節(jié)的標(biāo)準(zhǔn)定義,至少在衡量存儲(chǔ)單位時(shí)是這樣(C語言中對此有不同的定義)。由于每個(gè)位或者是0或者是1,所以一個(gè)8位的字節(jié)包含256(2的8次方)種可能的0、1組合。這些組合可用于表示0到255的整數(shù)或者一組字符。這種表示可以通過二進(jìn)制編碼(僅使用0或1方便地表示數(shù)字)來實(shí)現(xiàn)。

對于一種給定的計(jì)算機(jī)設(shè)計(jì),字(word)是自然的存儲(chǔ)單位。對于8位微機(jī),比如原始的Apple機(jī),一個(gè)字正好有8位。使用80286處理器的早期IBM兼容機(jī)是16位機(jī),這意味著一個(gè)字的大小為16位?;赑entium的PC機(jī)和Macintosh PowerPC中的字是32位。現(xiàn)在普遍的計(jì)算機(jī)是64位,但更強(qiáng)大的計(jì)算機(jī)還可以有更長位數(shù)的字。

二、整數(shù)類型與浮點(diǎn)數(shù)類型

對于人,整數(shù)和浮點(diǎn)數(shù)的區(qū)別在于它們的書寫。對于計(jì)算機(jī),區(qū)別在于它們的存儲(chǔ)方式。下面分別對它們進(jìn)行介紹。

1、整數(shù)

整數(shù)(integer)就是沒有小數(shù)部分的數(shù)。在C中,小數(shù)點(diǎn)永遠(yuǎn)不會(huì)出現(xiàn)在整數(shù)的書寫中。例如1、-23和4561都是整數(shù)。數(shù)3.14、0.77和8.000都不是整數(shù)。整數(shù)以二進(jìn)制數(shù)字存儲(chǔ)。例如整數(shù)9的二進(jìn)制表示為1001,在8位的字節(jié)中存儲(chǔ)它需要將前4位置0,后4位為1001,即00001001。

2、浮點(diǎn)數(shù)

浮點(diǎn)數(shù)(floating-point)差不多可以和數(shù)學(xué)中的實(shí)數(shù)(real number)概念相對應(yīng)。實(shí)數(shù)包含了整數(shù)之間的那些數(shù)。1.75、2.16E7、3.00和4e-8都是浮點(diǎn)數(shù)。注意,加了小數(shù)點(diǎn)的數(shù)是浮點(diǎn)型值,所以3是整數(shù)類型,而3.00是浮點(diǎn)型。書寫浮點(diǎn)數(shù)有多種形式。2.16E7表示2.16乘以10的7次方(即1后面帶有7個(gè)0),7稱為10的指數(shù)。

這里最重要的一點(diǎn)是浮點(diǎn)數(shù)與整數(shù)的存儲(chǔ)方案不同。浮點(diǎn)數(shù)表示法將一個(gè)數(shù)分為小數(shù)部分和指數(shù)部分并分別存儲(chǔ)。因此盡管7.00和整數(shù)7有相同的值,但它們的存儲(chǔ)方式不同。與機(jī)器中的二進(jìn)制存儲(chǔ)方式相似,在十進(jìn)制中5.0可表示為0.5E1,這里的0.5是小數(shù)部分,1是指數(shù)部分。當(dāng)然,計(jì)算機(jī)的內(nèi)部存儲(chǔ)使用二進(jìn)制數(shù)字,它使用2的冪而非10的冪。

這里我們先只關(guān)注這兩種類型在應(yīng)用中的區(qū)別:

①整數(shù)沒有小數(shù)部分;浮點(diǎn)數(shù)可以有小數(shù)部分

②浮點(diǎn)數(shù)可以表示比整數(shù)范圍大得多的數(shù)

③對于一些算術(shù)運(yùn)算(例如兩個(gè)很大的數(shù)相減),使用浮點(diǎn)數(shù)會(huì)損失更多的精度

④因?yàn)樵谌魏螀^(qū)間內(nèi)(比如1.0和2.0之間)都存在無窮多個(gè)實(shí)數(shù),所以計(jì)算機(jī)浮點(diǎn)數(shù)不能表示區(qū)域內(nèi)所有的值。浮點(diǎn)數(shù)往往只是實(shí)際值的近似。例如,7.0可能以浮點(diǎn)值6.99999存儲(chǔ)。

⑤浮點(diǎn)運(yùn)算通常比整數(shù)運(yùn)算慢。不過,已經(jīng)開發(fā)出了專門處理浮點(diǎn)運(yùn)算的微處理器,它可以縮小速度上的差別。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7292

    瀏覽量

    87520
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2231

    瀏覽量

    82203
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135568
  • 浮點(diǎn)數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    15845

原文標(biāo)題:C語言中位、字節(jié)和字以及整數(shù)類型與浮點(diǎn)數(shù)類型的比較

文章出處:【微信號:雨飛工作室,微信公眾號:雨飛工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    小數(shù)在內(nèi)存中是如何存儲(chǔ)的?為什么C語言中浮點(diǎn)數(shù)不支持位移操作?

    小數(shù)在內(nèi)存中是如何存儲(chǔ)的?為什么C語言中浮點(diǎn)數(shù)不支持位移操作?
    發(fā)表于 08-16 09:24 ?955次閱讀
    小數(shù)在內(nèi)存中是如何存儲(chǔ)的?為什么<b class='flag-5'>C</b><b class='flag-5'>語言中</b>的<b class='flag-5'>浮點(diǎn)數(shù)</b>不支持位移操作?

    跟著狄泰唐老師學(xué)C語言進(jìn)階教程的筆記之浮點(diǎn)數(shù)的秘密

    1. 內(nèi)存中的浮點(diǎn)數(shù)l 浮點(diǎn)數(shù)在內(nèi)存的存儲(chǔ)方式為:符號,指數(shù),尾數(shù)l float與double 類型的數(shù)據(jù)在計(jì)算機(jī)內(nèi)部的表示法是相同的,但是由于所占用的存儲(chǔ)空間的不同,其分別能夠表示
    發(fā)表于 05-19 11:08

    將四字節(jié)16進(jìn)制數(shù)轉(zhuǎn)化為浮點(diǎn)數(shù)

    0401儀表的測量值:相應(yīng)表明讀取的測量值為42C3999A(浮點(diǎn)數(shù)為97.8)方法1:這是我之前從網(wǎng)上找到的方法,可以看到求解過程比較繁瑣。第一步:將十六進(jìn)制數(shù)值轉(zhuǎn)變?yōu)檎o@示,不按照字節(jié)
    發(fā)表于 12-01 06:13

    c語言中double與float的區(qū)別 相關(guān)資料分享

    c語言中double與float的區(qū)別C語言中小數(shù)的數(shù)據(jù)類型為 float 或 double:float 稱為單精度
    發(fā)表于 07-01 09:10

    C語言怎么輸入float的變量,c語言float怎么用

    是什么意思C語言中float浮點(diǎn)型數(shù)據(jù)類型,F(xiàn)LOAT數(shù)據(jù)類型用于存儲(chǔ)單精度浮點(diǎn)數(shù)或雙精度
    發(fā)表于 03-29 10:36

    C語言中,如何分配浮點(diǎn)數(shù)的存儲(chǔ)方式?

    C語言中,對于浮點(diǎn)類型的數(shù)據(jù)采用單精度類型(float)和雙精度類型(double)來存儲(chǔ),fl
    的頭像 發(fā)表于 08-28 16:32 ?8150次閱讀

    MSC-51單片機(jī)的3字節(jié)和4字節(jié)浮點(diǎn)數(shù)計(jì)算程序分析

    MSC-51 3字節(jié)和4字節(jié)浮點(diǎn)數(shù)計(jì)算程序,主要用于數(shù)據(jù)采集及上傳,經(jīng)過IEEE轉(zhuǎn)換,在上位機(jī)直接顯示。 ;這是本人使用的MSC-51 3字節(jié)和4
    發(fā)表于 11-14 16:12 ?4222次閱讀
    MSC-51單片機(jī)的3<b class='flag-5'>字節(jié)</b>和4<b class='flag-5'>字節(jié)</b><b class='flag-5'>浮點(diǎn)數(shù)</b>計(jì)算程序分析

    python整數(shù)浮點(diǎn)數(shù)分解

    2.3 python整數(shù)浮點(diǎn)數(shù) Python 支持的數(shù)字類型有三種:整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)。 1. 整數(shù)
    的頭像 發(fā)表于 02-18 09:09 ?1795次閱讀

    C語言-基本數(shù)據(jù)類型運(yùn)算

    這篇文章作為基礎(chǔ)知識(shí)點(diǎn),總結(jié)C語言的基本數(shù)據(jù)類型有哪些,浮點(diǎn)數(shù)的精度,整數(shù)變量的空間范圍,變量定義
    的頭像 發(fā)表于 08-14 09:56 ?1496次閱讀

    什么是浮點(diǎn)數(shù)

    Python數(shù)據(jù)類型第一種:字符串(str)。 Python數(shù)據(jù)類型第二種:整數(shù)(int)。 Python數(shù)據(jù)類型第三種:浮點(diǎn)數(shù),
    的頭像 發(fā)表于 02-23 14:58 ?4396次閱讀

    解析python整數(shù)浮點(diǎn)數(shù)不同進(jìn)制整數(shù)

    python數(shù)字包括整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)、有理分?jǐn)?shù)等,整數(shù)還可以用不同進(jìn)制表示。
    的頭像 發(fā)表于 03-10 10:01 ?1005次閱讀

    PLC數(shù)據(jù)類型

    基本數(shù)據(jù)類型 ? ? ? 基本數(shù)據(jù)類型? ? 包括序列、整數(shù)浮點(diǎn)數(shù)、日期時(shí)間。(常見的)
    發(fā)表于 04-17 15:49 ?0次下載
    PLC數(shù)據(jù)<b class='flag-5'>類型</b>

    C語言里的整數(shù)數(shù)據(jù)類型

    1. 整型數(shù)據(jù)類型 C語言里面的整數(shù)數(shù)據(jù)類型 類型名稱 C
    的頭像 發(fā)表于 11-24 16:09 ?847次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>里的<b class='flag-5'>整數(shù)數(shù)據(jù)類型</b>

    modbus浮點(diǎn)數(shù)怎么讀取

    Modbus是一種通信協(xié)議,常用于工業(yè)自動(dòng)化系統(tǒng)中的設(shè)備之間的通信。它支持多種數(shù)據(jù)類型,包括整數(shù)浮點(diǎn)數(shù)、字符串等。浮點(diǎn)數(shù)在工業(yè)領(lǐng)域中廣泛應(yīng)用,因此了解如何讀取和處理Modbus
    的頭像 發(fā)表于 12-28 14:38 ?5246次閱讀

    快速掌握C語言關(guān)鍵

    C語言中的32個(gè)關(guān)鍵你知道多少個(gè)呢?根據(jù)關(guān)鍵的作用分為四類:數(shù)據(jù)類型關(guān)鍵、控制語句關(guān)鍵
    的頭像 發(fā)表于 07-06 08:04 ?248次閱讀
    快速掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b>關(guān)鍵<b class='flag-5'>字</b>